提问:
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。 要怎么写才能出现这个结果?

解决方案 »

  1.   

    没什么难度,给你一种实现方法。import java.util.*;public class ToolsTest {    public static void main(String[] args) {
            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;
        }}