本文使用Student类作为例子
public class Student implements Comparable<Student>{
private int id;
private String name;
private int age;
private int gender;
private int cid;
省略get,set,hash,equals,toString方法,一定要实现Comparable接口并复写compareTo方法,否则Set添加报错
通用遍历方式使用Iterator(List.iterator()、Set.interator()、Map.entrySet.interator()--此返回的类型为Map.Entry<>)
package club.kissu.springboottest.test;
import club.kissu.springboottest.entity.Student;
import java.util.*;
public class Test2 {
public static void main(String[] args) {
Student student1=new Student(1,"zhangsan1",18,1,2);
Student student2=new Student(2,"zhangsan2",18,1,2);
Student student3=new Student(3,"zhangsan3",18,1,2);
Student student4=new Student(4,"zhangsan4",18,1,2);
List<Student> studentList=new ArrayList<>();
studentList.add(student1);
studentList.add(student2);
studentList.add(student3);
studentList.add(student4);
Set<Student> studentSet= new HashSet<>();
studentSet.add(student1);
studentSet.add(student2);
studentSet.add(student3);
studentSet.add(student4);
Map<Integer,Student> studentMap=new TreeMap<>();
studentMap.put(student1.getId(),student1);
studentMap.put(student2.getId(),student2);
studentMap.put(student3.getId(),student3);
studentMap.put(student4.getId(),student4);
System.out.println("`````````````遍历List集合第一种方式:fori`````````````");
for (int i = 0; i <studentList.size() ; i++) {
System.out.println(studentList.get(i));
}
System.out.println("`````````````遍历List集合第二种方式foreach`````````````");
for (Student student:studentList) {
System.out.println(student);
}
System.out.println("`````````````遍历List集合第三种方式Iterator`````````````");
Iterator<Student> iterator=studentList.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
System.out.println("`````````````遍历Set集合第一种方式foreach`````````````");
for (Student student:studentSet) {
System.out.println(student);
}
System.out.println("`````````````遍历Set集合第二种方式Iterator`````````````");
Iterator<Student> iterator2=studentSet.iterator();
while(iterator2.hasNext()){
System.out.println(iterator2.next());
}
System.out.println("`````````````遍历Map集合第一种方式-通过Map.values()遍历所有的value`````````````");
for (Student student:studentMap.values()) {
System.out.println(student);
}
System.out.println("`````````````遍历Map集合第二种方式-通过Map.keySet()获取所有key遍历所有的value`````````````");
for (Integer key:studentMap.keySet()) {
System.out.println(key+":"+studentMap.get(key));
}
System.out.println("`````````````遍历Map集合第三种方式-使用Iterator获取Map.entry遍历`````````````");
Iterator<Map.Entry<Integer,Student>> iterator3=studentMap.entrySet().iterator();
while (iterator3.hasNext()){
Map.Entry<Integer,Student> entry=iterator3.next();
System.out.println(entry.getKey()+":"+entry.getValue());
}
System.out.println("`````````````遍历Map集合第四种方式-通过Map.Entry获取key和value值`````````````");
for (Map.Entry<Integer,Student> entry:studentMap.entrySet()) {
System.out.println(entry.getKey()+":"+entry.getValue());
}
}
}