一段简单的关于List集合的代码——
1.Iterator迭代器遍历
package cn.jsu.www4;
import java.util.*;
class Person {
private String name;
private String type;
public Person() {}
public Person(String name, String type) {
this.name = name;
this.type = type;
}
public String toString() {
return "姓名:" + this.name + " 类型:" + this.type;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Person person = (Person) o;
return Objects.equals(name, person.name) && Objects.equals(type, person.type);
}
@Override
public int hashCode() {
return Objects.hash(name, type);
}
}
public abstract class Test1 {
public static void main (String[] args) {
List<Person> w = new ArrayList<>();
w.add(new Person("xb","Pig"));
w.add(new Person("zr","Man"));
w.add(new Person("yzj","Question"));
w.add(new Person("odb","Dog"));
System.out.println("index == 1 时成员的信息:\n" + w.get(1));
System.out.println("\n===删除odb后的集合===");
w.set(2,new Person("yzj","Dog"));
w.remove(new Person("odb","Dog"));
for(Person p : w)
System.out.println(p);
Iterator<Person> i = w.iterator();
System.out.println("\n===使用迭代器遍历===");
while(i.hasNext()) {
Person current = i.next();
System.out.println(current);
Person xb = new Person("xb","Pig");
if(current.equals(xb))
i.remove();
}
System.out.println("\n===删除xb后的集合===");
for(Person p : w)
System.out.println(p);
}
}
2.ListIterator迭代器遍历
package cn.jsu.www4;
import java.util.*;
public abstract class Test2{
public static void main (String[] args) {
List<Person> w = new LinkedList<>();
w.add(new Person("xb","Pig"));
w.add(new Person("zr","Man"));
w.add(new Person("yzj","Question"));
w.add(new Person("odb","Dog"));
System.out.println("index == 1 时成员的信息:\n" + w.get(1));
System.out.println("\n===删除odb后的集合===");
w.set(2,new Person("yzj","Dog"));
w.remove(new Person("odb","Dog"));
for(Person p : w)
System.out.println(p);
ListIterator<Person> i = w.listIterator();
System.out.println("\n===使用迭代器从前向后遍历===");
while(i.hasNext()) {
Person current = i.next();
System.out.println(current);
}
System.out.println("\n===使用迭代器从后向前遍历===");
while(i.hasPrevious()) {
Person current2 = i.previous();
System.out.println(current2);
}
}
}