import java.util.*;
public class TestAa {
private String name;
private Integer id;
public static void main(String[] args) {
List<TestAa> list = new ArrayList<>();
list.add(new TestAa("dehua", 1));
list.add(new TestAa("德华", 2));
list.add(new TestAa("等会", 3));
list.add(new TestAa("德华", 4));
String name = "德华";
//找到name=德华的第一个对象的下标
Optional<Integer> first = list.stream().
filter(i -> Objects.equals(i.getName(), name)).
map(list::indexOf).findFirst();
if (first.isPresent()) {
Integer index = first.get();
System.out.println("true:" + index);
//下标数据交换
Collections.swap(list, 0, index);
} else {
System.out.println("false");
}
list.forEach(System.out::println);
}
public TestAa(String name, Integer id) {
this.name = name;
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@Override
public String toString() {
return "TestAa{" +
"name='" + name + '\'' +
", id=" + id +
'}';
}
}
La collection de listes Java utilise le flux stream pour trouver l'indice correspondant et échanger les positions en fonction de la valeur de l'attribut.
Guess you like
Origin blog.csdn.net/weixin_42048982/article/details/131380272
Recommended
Ranking