提问:
List list=new ArrayList();Book book1=new Book();
book1.setId(1);
book1.setName("张三");
list.add(book1);Book book2=new Book();
book2.setId(2);
book2.setName("李四");
list.add(book2);Book book3=new Book();
book3.setId(3);
book3.setName("王五");
list.add(book3);
有一个上面的这种list,想在要依次交换 list中的book的id属性,怎么交换。交换结果为:王五的id为1,张三的id为2,李四的id为3。 要怎么写才能出现这个结果?
List list=new ArrayList();Book book1=new Book();
book1.setId(1);
book1.setName("张三");
list.add(book1);Book book2=new Book();
book2.setId(2);
book2.setName("李四");
list.add(book2);Book book3=new Book();
book3.setId(3);
book3.setName("王五");
list.add(book3);
有一个上面的这种list,想在要依次交换 list中的book的id属性,怎么交换。交换结果为:王五的id为1,张三的id为2,李四的id为3。 要怎么写才能出现这个结果?
List<Book> list = new ArrayList<Book>(); Book book1 = new Book();
book1.setId(1);
book1.setName("张三");
list.add(book1); Book book2 = new Book();
book2.setId(2);
book2.setName("李四");
list.add(book2); Book book3 = new Book();
book3.setId(3);
book3.setName("王五");
list.add(book3);
convertList(list);
System.out.println(list);
} public static void convertList(List<Book> list) {
if (list == null || list.isEmpty())
return;
int id1 = list.get(0).getId();
int id2;
for (int i = 0; i < list.size(); i++) {
id2 = list.get(i).getId();
list.get(i).setId(id1);
id1 = id2;
}
list.get(0).setId(id1);
}}
class Book { int id;
String name; public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}}