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);
}
}
}