Java常见数据结构的遍历方式
集合类:
1、List:
方式一:for
public static void listTraverse0(List<String> list){
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i)+"->");
}
}
方式二:forEach
public static void listTraverse1(List<String> list){
for (String e : list) {
System.out.print(e+"->");
}
}
方式三:迭代器
public static void listTraverse2(List<String> list){
Iterator iterator = list.listIterator();
while(iterator.hasNext()){
System.out.print(iterator.next()+"->");
}
}
方式四:StreamApi(Java8以上版本支持)
public static void listTraverse3(List<String> list){
list.stream().forEach(item-> System.out.print(item+"->"));
}
2、SET:
方式一:迭代器
public static void listTraverse2(List<String> list){
Iterator iterator = list.listIterator();
while(iterator.hasNext()){
System.out.print(iterator.next()+"->");
}
}
方式二:forEach
public static void setTraverse1(Set<String> set){
for (String item: set) {
System.out.print(item+"->");
}
}
方式二:StreamApi(Java8以上版本支持)
public static void setTraverse2(Set<String> set){
set.stream().forEach(item->System.out.print(item+"->"));
}
Map类:
方式一:遍历keySet()集合获取key值并二次取值
public static void mapTraverse0(Map<String,String> map){
for (String item : map.keySet()) {
System.out.print(item + "=" + map.get(item) + ",");
}
}
方式二:遍历entrySet()集合直接获取K,V键值对,entry对象提供getKey()和getValue()
public static void mapTraverse1(Map<String,String> map){
for (Map.Entry entry: map.entrySet()) {
System.out.print(entry+",");
}
}
方式一:遍历value()的值集合,此方法无法获取key值
public static void mapTraverse2(Map<String,String> map){
for (String item : map.values()) {
System.out.print(item + "->");
}
}