Map,List,set集合推荐遍历的方式
import java.util.*;
/**
* @Author 杨旭辉
* @Date 2020/12/17 14:50
* @Description Map,List,set集合推荐遍历的方式
**/
public class Test {
public static void main(String[] args) {
/**
* @Author YXH
* @Date 2020/12/17 15:15
* @Param [args]
* @Return void
* @Description map集合推荐遍历方式
**/
Map<String, Object> over = new HashMap<String, Object>(12);
over.put("杨旭辉", 21);
for (Map.Entry<String, Object> a : over.entrySet()) {
String key = a.getKey();
Object value = a.getValue();
System.err.println("姓名:" + key + " 年龄:" + value);
}
/**
* @Author YXH
* @Date 2020/12/17 15:15
* @Param [args]
* @Return void
* @Description list集合推荐遍历方式
**/
List<String> list = new ArrayList<>();
list.add("杨旭辉");
list.add("21");
//增强for循环遍历
for(String s : list){
System.err.println(s+" list集合增强for循环遍历");
}
//Iterator迭代器遍历
Iterator<String> i = list.iterator();
while (i.hasNext()) {
String s = i.next();
System.err.println(s+" list集合Iterator迭代器遍历");
}
/**
* @Author YXH
* @Date 2020/12/17 15:15
* @Param [args]
* @Return void
* @Description set集合推荐遍历方式
**/
Set<String> set = new HashSet<>(6);
set.add("杨旭辉");
set.add("21");
//迭代器遍历set集合
Iterator<String> it = set.iterator();
while (it.hasNext()) {
String str = it.next();
System.err.println(str);
}
//增强for循环遍历set集合
for(String str:set) {
System.err.println(str);
}
}
}
Set主要包含三种存放数据类型都变量,分别是HashSet,LinkedHashSet,TreeSet.打开HashSet源码可以看到一个很熟悉到对象
HashSet 如果在第一次调用的时候就是new HashMap();
LinkedHashSet:底层就不是链表加hash加什么集合,而是:LinkedHashMap。
符合LinkedHashMap所有属性和性质,有序,不可重复
TreeSet同样也是以TreeMap作为存储结构,有序,不可重复。