java集合由两个接口派生出来:Collection和Map。

遍历Collection的实现类:

,因此对Collection的实现类来说,遍历方法基本一致:

1、使用Lambda表达式遍历集合。这是java8新增的一种遍历方式,形式简单,性能欠佳。

List<MoniFacilityBom> bomList=facilityBomService.findFacility(facilityBom);

//第一种遍历方法
bomList.forEach(obj -> System.out.println("遍历1"+obj));

2、Iterator接口遍历。Iterator也属于java集合范畴,但它不存储任何元素,唯一作用是遍历,也被称为迭代器,迭代器性能最优。

//第二种遍历方法,通过集合对象的iterator()建立迭代器执行迭代
Iterator t = bomList.iterator();
while (t.hasNext()){
    System.out.println("遍历2"+t.next());
 }

3、使用Lambda表达式遍历Iterator。

//第三种遍历方法
Iterator tt = bomList.iterator();
tt.forEachRemaining(obj-> System.out.println("遍历3"+obj));

4、使用for-each遍历集合。最常用的方法。

//第四种遍历方法,最常用
for(MoniFacilityBom bom : bomList){
    System.out.println("遍历4"+bom);
}

遍历Map实现类:

Map m = new HashMap<String,String>();
m.put("1","key");
m.put("2","name");
m.put("3","value");

1、最常用的方法。

//通过遍历map的所有key的集合来遍历map
for (Object key : m.keySet()){
    System.out.println("1:"+key+"---"+m.get(key));
}

2、Lamda表达式。

//第二种遍历方法
m.forEach((key,value)-> System.out.println("2:"+key+"---"+value));

3、使用迭代器。要用迭代器先得把Map转换成Collection然后才能获得迭代器,entrySet是Map的内部类,代表一组键值对。

//第三种遍历方法,迭代器。
Iterator<Map.Entry<String,String >> it = m.entrySet().iterator();
while (it.hasNext()){
Map.Entry<String,String> next = it.next();
System.out.println("3:"+next.getKey()+"---"+next.getValue());
}
01-14 05:22