遍历集合
Set、Map、List的遍历方法
Set集合
/**
* set集合
*/
public static void setDemo(){
Set<String> s=new HashSet<>();
s.add("aa");
s.add("aa");
s.add("bb");
s.add("cc");
//①:Iterator迭代器遍历
System.out.println("第一种:迭代器:");
Iterator<String> iterator = s.iterator();// iterator 迭代器
while(iterator.hasNext()){ //如果为true代表还有别的值
String str= iterator.next();
System.out.println(str);
}
//②:增强for遍历
System.out.println("第二种:增强for遍历:");
for(String str:s){
System.out.println(str);
}
}
Map集合
/**
* map集合
*/
public static void mapDemo(){
Map<Integer,String> map = new HashMap();
map.put(1,"张三");
map.put(2,"张四");
map.put(3,"张五");
//①:通过Map.keySet遍历key和value
System.out.println("第一种:通过Map.keySet遍历key和value");
for (Integer key : map.keySet()) {
System.out.println("key= "+ key + " and value= " + map.get(key));
}
System.out.println("--------------------");
//②:通过Map.entrySet使用iterator遍历key和value:
System.out.println("第二种:通过Map.entrySet使用iterator遍历key和value:");
Iterator<Map.Entry<Integer, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry<Integer, String> next = iterator.next();
System.out.println("key= " + next.getKey() + " and value= " + next.getValue());
}
System.out.println("--------------------");
// ③:推荐,尤其是容量大时
System.out.println("第三种:通过Map.entrySet遍历key和value");
for (Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.println("key= " + entry.getKey() + "and value= " + entry.getValue());
}
System.out.println("--------------------");
//④:通过Map.values()遍历所有的value,但不能遍历key
System.out.println("第四种:通过Map.values()遍历所有的value,但不能遍历key");
for (String s : map.values()) {
System.out.println("value= " + s);
}
}
List集合
/**
* list集合
*/
private static void listDemo() {
List<String> list = new ArrayList<>();
list.add("aa");
list.add("aa");
list.add("cc");
list.add("dd");
//①:迭代器
Iterator<String> iterator = list.iterator();
System.out.println("第一种:Iterator遍历list:");
while (iterator.hasNext()){
String str = iterator.next();
System.out.println(str);
if(str.equals("aa")){
iterator.remove();//移除list集合的元素
}
}
//②:普通for循环
System.out.println("第二种:普通for遍历list:");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
//③:加强for...each遍历
System.out.println("第三种:加强foreach");
for(String s : list){
System.out.println(s);
}
}
遍历方法运行
public static void main(String[] args) {
//① setDemo();
//② mapDemo();
//③ listDemo();
}
setDemo()
mapDemo()
listDemo()
注意:移除list集合元素要使用Iterator迭代器
欢迎大佬补充指教