话不多说,看代码:
import java.util.*;
public class ListPra {
public static void main(String[]args){
List<String> list = new ArrayList<>();
list.add("笑话");
list.add("未来");
list.add("幸福");
//遍历list 方式一foreach
for(String str:list){
System.out.println(str);
}
//for循环 和foreach效果一样
// for(int i=0;i<list.size();i++){
// System.out.println(list.get(i));
// }
//方式二 转换为数组
String []strArray = new String[list.size()];
list.toArray(strArray);
for(int i=0;i<strArray.length;i++){
System.out.println(strArray[i]);
}
//方式三 使用迭代器遍历
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){//当他的下一个元素有值
System.out.println(iterator.next());//拿出对应的值
}
//遍历Map 方式一:二次取值
Map<String,String> map = new HashMap<>();
map.put("1","hello");
map.put("2","bye");
map.put("3","future");
System.out.println("通过Map.keySet遍历key和value:");
//先拿出key,再通过key值取出来值
for(String key : map.keySet()){
System.out.println("key= "+ key + " and value= " + map.get(key));
}
//方式二 同时拿出key和value
System.out.println("通过Map.entrySet使用iterator遍历key和value:");
Iterator<Map.Entry<String, String>> iterator1 = map.entrySet().iterator();
while(iterator1.hasNext()){
Map.Entry<String, String> entry = iterator1.next();
System.out.println("key= "+ entry.getKey() + " and value= " + entry.getValue());
}
//方式三 容量大的时候推荐这种方式
System.out.println("通过Map.entrySet遍历key和value");
for(Map.Entry<String,String> entry : map.entrySet()){
System.out.println("key= "+ entry.getKey() + " and value= " + entry.getValue());
}
//方式四
System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
for(String v : map.values()){
System.out.println("value= "+v);
}
//遍历Set
List<String> list1 = new ArrayList<>();
list1.add("haha");
list1.add("ming");
list1.add("hua");
//方式一 foreach形式遍历
Set<String> set = new HashSet<>(list1);
for(String str:set){
System.out.println(str);
}
//方式二 ①使用迭代器遍历
Iterator<String> iterator2 = set.iterator();
while(iterator2.hasNext()){
System.out.println(iterator2.next());
}
//②迭代器遍历
for(Iterator iterator3 = set.iterator();iterator3.hasNext();){
System.out.println(iterator3.next());
}