集合的几种遍历方式
List<String> list = Arrays.asList("A","B","C");
for (int i=0;i<+list.size();i++){ //普通for循环
System.out.println(list.get(1));
}
/* for (String s : list) { //增强for循环
System.out.println(s);
}*/
/*Iterator<String> it = list.iterator(); //iterator遍历
while (it.hasNext()){
System.out.println(it.next());
}*/
/*list.forEach(System.out::println); //Stream遍历
list.stream().forEach(System.out::println);*/
遍历的同时删除 ArrayList 中的元素
//fail-safe
ConcurrentLinkedDeque<String> users = new ConcurrentLinkedDeque<String>(){
{
add("qq");
add("ww");
add("ee");
add("rr");
}
};
for (String user : users) {
if (user.equals("ww")){
users.remove();
}
}
System.out.println(users);
//增强for循环
List<String> list = new ArrayList<String>(){{
add("qq");
add("ww");
add("ee");
add("rr");
}};
for (String s : list) {
if (s.equals("qq")){
list.remove(s);
break;
}
}
System.out.println(list);
//Iterator
ArrayList<String> list = new ArrayList<String>() {{
add("qqq");
add("www");
add("xxx");
}};
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
if (iterator.next().equals("qqq")){
iterator.remove();
}
}
System.out.println(list);
}