java list集合根据某个string类型的字段实现自定义权重值排序的代码
时间: 2023-05-22 20:03:04 浏览: 399
Java实现的权重算法(按权重展现广告)
以下是可以实现根据某个string类型的字段实现自定义权重值排序的Java代码:
```java
List<MyObject> list = new ArrayList<>();
// 添加元素并赋值
MyObject obj1 = new MyObject();
obj1.setName("A");
obj1.setWeight("2");
list.add(obj1);
MyObject obj2 = new MyObject();
obj2.setName("B");
obj2.setWeight("3");
list.add(obj2);
MyObject obj3 = new MyObject();
obj3.setName("C");
obj3.setWeight("1");
list.add(obj3);
// 根据Weight字段排序
Collections.sort(list, new Comparator<MyObject>(){
public int compare(MyObject obj1, MyObject obj2) {
if (obj1.getWeight() == null) {
return -1;
}
if (obj2.getWeight() == null) {
return 1;
}
return obj1.getWeight().compareTo(obj2.getWeight());
}
});
// 输出排序结果
for(MyObject obj : list) {
System.out.println(obj.getName() + " : " + obj.getWeight());
}
```
注意:上述代码中的 `MyObject` 类需要自己定义,它包含了一个 `String` 类型的 `Name` 字段和一个 `String` 类型的 `Weight` 字段,我们通过 `Collections.sort()` 方法和自定义的 `Comparator` 接口来实现排序,代码中我们根据 `Weight` 字段升序排列。
如果您有更多的问题,可以继续问我。
阅读全文