其他分享
首页 > 其他分享> > D10

D10

作者:互联网

D10

Set子接口

TreeSet

Comparator:实现定制比较(比较器)

 

Map父接口


put();

remove();

containsKey();

containsValue();

//两种遍历方式,entrySet效率高于keySet
Set<String> keyset=map.keySet();
for (String s : keyset) {
   System.out.println(s+map.get(s));
}

//或
//for (String s : map.keySet()) {
//   System.out.println(s+map.get(s));
//}
Set<Map.Entry<String,String>> entries=map.entrySet();
for (Map.Entry<String, String> entry : entries) {
   System.out.println(entry.getKey()+entry.getValue());
}

//entry是一个键值对。

//
//for (Map.Entry<String, String> entry : map.entrySet()) {
//   System.out.println(entry.getKey()+entry.getValue());
//}

 

Map集合的实现类

HashMap集合的使用

 

  1. HashMap刚创建时,table是null,节省空间,当添加第一个元素时,table容量调整为16。

  2. 当元素个数大于阈值(16*0.75 = 12)时,会进行扩容,扩容后的大小为原来的两倍,目的是减少调整元素的个数。

  3. jdk1.8 当每个链表长度 >8 ,并且数组元素个数 ≥64时,会调整成红黑树,目的是提高效率。

  4. jdk1.8 当链表长度 <6 时 调整成链表。

  5. jdk1.8 以前,链表时头插入,之后为尾插入。

 

Hashtable

线程安全,运行效率慢;不允许null作为key或是value。

Properties

Hashtable的子类,要求key和value都是string,通常用于配置文件的读取。

 

TreeMap

 

 

Collections工具类的使用


list转成数组

Integer[] arr=list.toArray(new Integer[0]);

数组转成集合

String[] names={"张三","李四","王五"};
List<String> list2=Arrays.asList(names);
//转成的集合是一个受限集合,不能添加和删除。

Integer[] nums={100,200,300,400,500};
List<Integer> list3=Arrays.asList(nums);
//把基本类型数组转成集合时,需要修改为包装类型。


标签:map,D10,list,链表,Collections,println,entry
来源: https://www.cnblogs.com/BTB-12138/p/16594293.html