特点:
存储结构:哈希表(数组+链表+红黑树)
方法:
package com.zheng.demo4; import javax.lang.model.element.NestingKind; import java.util.HashMap; import java.util.Map; import java.util.Set; public class MyMap { public static void main(String[] args) { //1、创建集合 Map<String, String> map = new HashMap<>(); //2、塞入值 map.put("A", "我是A"); map.put("B", "我是B"); map.put("C", "我是C"); map.put("D", "我是D"); //判断 System.out.println(map.containsKey("A")); System.out.println(map.containsValue("我是C")); System.out.println("map集合大小:" + map.size()); System.out.println("打印:" + map.toString()); //遍历1、使用keyset System.out.println("=======使用keyset======="); Set<String> set = map.keySet(); for (String s : set) { System.out.println(s + "=======" + map.get(s)); } System.out.println("=======使用entryset======="); Set<Map.Entry<String, String>> entries = map.entrySet(); for (Map.Entry<String, String> entry : entries) { System.out.println(entry.getKey() + "========" + entry.getValue()); } //简化 System.out.println("+===简化====+"); for (Map.Entry<String, String> entry : map.entrySet()) { System.out.println(entry.getKey() + "========" + entry.getValue()); } } }
jdk1.8后当链表长度大于8,转化为红黑树存储
jdk1.8后,当链表长度小于6,转化为链表存储
map集合的实现类
package com.zheng.demo5;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class MyCollection {
public static void main(String[] args) {
List arrayList = new ArrayList();
arrayList.add(4);
arrayList.add(1);
arrayList.add(5);
arrayList.add(3);
arrayList.add(6);
arrayList.add(2);
System.out.println(arrayList.toString()); System.out.println("调用排序工具类"); //调用工具类排序 Collections.sort(arrayList); System.out.println(arrayList.toString()); }
}
对象的容器,和数组相似,定义了多个对象进行操作的常用方法
有序、有下标、元素可以重复(ArrayList,LinkedList,Vector)
无序、无下标、元素不可重复(HashSet,TreeSet)
存储一对数据,无序,无下标,键不可重复,值可以重复(HashMap,HashTable,TreeMap)
s: