Java集合常用操作【List、集合嵌套存储和遍历、TreeSet集合操作】

package test;

import java.util.ArrayList;

import java.util.List;
import java.util.ListIterator;

public class Main {
    public static void main(String[] args) {
        List list = new ArrayList();

        list.add("均可");
        list.add("均");
        list.add("复能否");
        list.add("大家");
        list.add("我偶偶");

        //迭代器的方式添加
        ListIterator lit = list.listIterator();
        while(lit.hasNext()) {

            if("大家".equals((String)lit.next())) {
                lit.add("kan");
            }
        }

//      如果通过迭代器来添加元素,同时输出的话,会报错
//      java.util.NoSuchElementException

//      ListIterator lit = list.listIterator();
//      while(lit.hasNext()) {
//          
//          if("大家".equals((String)lit.next())) {
//              lit.add("kan");
//          }
//          System.out.println(lit.next());
//      }

        //逆序遍历(只能在正序遍历后进行)
        while(lit.hasPrevious()) {
            System.out.println(lit.previous());
        }

        //用集合的方式遍历集合
        for(int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }

    }
}

集合嵌套存储和遍历:

package test;

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<ArrayList<Student>> bigArray = new ArrayList<ArrayList<Student>>();

        ArrayList<Student> array1 = new ArrayList<Student>();
        array1.add(new Student("白骨精", 3));
        array1.add(new Student("唐僧", 43));
        array1.add(new Student("孙猴子", 5));
        bigArray.add(array1);

        ArrayList<Student> array2 = new ArrayList<Student>();
        array2.add(new Student("武松", 53));
        array2.add(new Student("潘金莲", 93));
        array2.add(new Student("西门庆", 45));
        array2.add(new Student("松江", 15));
        bigArray.add(array2);

        ArrayList<Student> array3 = new ArrayList<Student>();
        array3.add(new Student("诸葛亮", 34));
        array3.add(new Student("张飞", 6));
        bigArray.add(array3);

        for(ArrayList<Student> s : bigArray) {
            for(Student ss : s) {
                System.out.println(ss.getName()+"---"+ss.getAge());
            }
        }

    }
}
package test;

public class Student {

    private String name;
    private int age;

    public Student() {
        super();
        // TODO Auto-generated constructor stub
    }

    public Student(String name, int age) {
        super();
        this.name = name;
        this.age = age;
    }

    /**
     * @return the name
     */
    public String getName() {
        return name;
    }

    /**
     * @param name the name to set
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * @return the age
     */
    public int getAge() {
        return age;
    }

    /**
     * @param age the age to set
     */
    public void setAge(int age) {
        this.age = age;
    }

    /* (non-Javadoc)
     * @see java.lang.Object#toString()
     */
    @Override
    public String toString() {
        return "Student [name=" + name + ", age=" + age + "]";
    }

}

TreeSet集合操作:

package test;

import java.util.Comparator;
import java.util.TreeSet;

public class Main {
    public static void main(String[] args) {

        //HashSet<Student> hs = new HashSet<Student>();
        //TreeSet<Student> ts = new TreeSet<Student>();

        TreeSet<Student> ts = new TreeSet<Student>(new  Comparator<Student>() {
            public int compare (Student s1, Student s2) {
                int num = s1.getName().compareTo(s2.getName());
                if(num == 0) return s1.getAge()-s2.getAge();
                return num;
            }
        }); 


        ts.add(new Student("秦风", 10));
        ts.add(new Student("徐江", 2));
        ts.add(new Student("jfk", 2));
        ts.add(new Student("zhijin", 2));
        ts.add(new Student("武松", 263));
        ts.add(new Student("徐江", 2));
        ts.add(new Student("java", 22));
        ts.add(new Student("徐", 53));

        for(Student s : ts) {
            System.out.println(s);
        }

    }
}

猜你喜欢

转载自blog.csdn.net/k_young1997/article/details/81279177