1、测试类:
package com.company;
public class Person {
private int id;
private String name;
private String age;
public Person(int id, String name, String age) {
super();
this.id = id;
this.name = name;
this.age = age;
}
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;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
@Override
public String toString() {
return "Person [id=" + id + ", name=" + name + ", age=" + age + "]";
}
}
2、list,set,map的几种遍历方式
package com.company;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.sun.org.apache.xml.internal.serializer.ElemDesc;
/**
* Hello world!
*
*/
public class App {
public static void main(String[] args) {
Person one = new Person(1, "xiaowang", "23");
Person two = new Person(2, "xiaoming", "23");
Person three = new Person(3, "xiaogang", "23");
List<Person> dataList = new ArrayList<>();
dataList.add(one);
dataList.add(two);
dataList.add(three);
// ==========list集合遍历的三种方式============
// 传统的数组遍历,遍历方法一
for (int i = 0; i < dataList.size(); i++) {
System.out.println(dataList.get(i));
}
// foreach
for (Person ele : dataList) {
System.out.println(ele);
}
// iterator
Iterator<Person> iterator = dataList.iterator();
while (iterator.hasNext()) {
Person person = iterator.next();
System.out.println(person);
}
// ==========set集合遍历的两种方式============
System.out.println("==========set=============");
Set<Person> sets = new HashSet<>();
sets.add(one);
sets.add(two);
sets.add(three);
// 遍历方式一foreach
for (Person ele : sets) {
System.out.println(ele);
}
Iterator<Person> iterator2 = sets.iterator();
// 遍历方式二,iterator
while (iterator2.hasNext()) {
Person person = iterator2.next();
System.out.println(person);
}
// ==========map集合遍历的种方几式============
Map<String, Person> maps = new HashMap<String, Person>();
maps.put("one", one);
maps.put("two", two);
maps.put("three", three);
// 方法一,转化为set形式遍历
for (String key : maps.keySet()) {
System.out.println("key=" + key + ",value=" + maps.get(key));
}
// 方式三,遍历values
for (Person value : maps.values()) {
System.out.println("value=" + value);
}
// 方式二,转化为iterator的形式
Iterator<String> iterator3 = maps.keySet().iterator();
while (iterator3.hasNext()) {
String key = iterator3.next();
System.out.println("key=" + key + ",value=" + maps.get(key));
}
//方式四
for(Map.Entry<String, Person> ele : maps.entrySet())
{
System.out.println("key="+ele.getKey()+",value="+ele.getValue());
}
//遍历方式五map.entrySet() + Iterator
Iterator <Map.Entry<String,Person>> entry = maps.entrySet().iterator();
while(entry.hasNext()){
Map.Entry<String, Person> ent = entry.next();
System.out.println("key="+ ent.getKey() + ",value=" + ent.getValue());
}
}
}