Map集合 以key和value对储存数据,两个都是存储Java对象地址,包括HashMap(底层)是哈希表数据结构,非线程安全,和hashtable 哈希表结构,线程安全,还有SortedMap(大小顺序排序)接口TreemAP是二叉树结构 import java.util.HashSet; import java.util.Set; // public class MapTest { //Map的数据存储结构双键值<key , value> //静态内部类 private static class InnerClass{ public static void m1(){ System.out.println(""); } public void m2(){//实例方法 System.out.println("2"); } } public static void main(String[] args) { MapTest.InnerClass.m1(); //创建静态内部类对象 MapTest.InnerClass m3 =new MapTest.InnerClass(); m3.m2(); //引用方法 //Set集合 Set<MapTest.InnerClass> set = new HashSet<>();//这个set对象是MapTest.InnerClass Set<String> set2 = new HashSet<>();//这个Set是字符串 Set<MyMap.MyEntry<Integer,String>> set3 = new HashSet<>(); } class MyMap{ public class MyEntry<k,v>{ } } } //HashSet的一些方法和遍历
import java.util.*; public class MapTest02 { public static void main(String[] args) { Map<Integer,String> map = new HashMap<>();//创建Map集合对象 map.put(1,"lushuai");//添加对象,1数字进行了自动装箱 map.put(2,"lu2"); map.put(3,"lu3"); map.put(4,"lu4"); map.put(5,"lu5"); //通过key获取value //String value = map.get(1); //System.out.println(value); //获取键值对数量 System.out.println(map.size()); map.remove(2);//通过key 删除value System.out.println(map.size()); //contains 判断包含value 或者 key //遍历map第一种方式 //用key,获取所有key ,所有key是一个set集合 Set<Integer> keys = map.keySet(); //迭代key Iterator<Integer> it = keys.iterator(); while(it.hasNext()){//循环判断是否还有key Integer key = it.next();//key赋值 String value = map.get(key); System.out.println(key + value); //第二种方式将map集合全部转化为set集合 Set<Map.Entry<Integer,String>> set4 = map.entrySet(); Iterator<Map.Entry<Integer,String>> it2 = set4.iterator(); while(it2.hasNext()){ Map.Entry<Integer,String> node = it2.next(); Integer key1 = node.getKey(); String value1 = node.getValue(); System.out.println(key1 +","+ value1); } } Collection<String> values= map.values(); //清空Map map.clear(); } }