Gorilla带您学java之单列集合set深入、双列集合

LinkedHashSet

特点:去重、无下标 、有链表的结构、有序 (怎么存的顺序 打印出来就什么顺序)

            // 声明一个set集合
            LinkedHashSet<String> set = new LinkedHashSet<>();
            // 存放 f、a、b、c、d
            set.add("f");
            set.add("a");
            set.add("b");
            set.add("c");
            set.add("d");
            // 获取迭代器
            Iterator<String> iterator = set.iterator();
            // 迭代器遍历
            while (iterator.hasNext()) {
                String string = (String) iterator.next();
                System.out.println(string);
            }
// 控制台打印
f
a
b
c
d

TreeSet

特点:无序、无下标、不重复 (可以用来排序)

TreeSet排序步骤
1.实现comparable接口
2.实现接口中的方法
3.编写排序规则

map

是双列集合的父接口
1.以键值对形式存储数据 key-value
2.键值唯一(键值不能重复)

HashMap和HashSet有关系嘛?
有关系 HashSet依赖HashMap
实际上向HashSet中添加元素相当于向map中的key列添加元素

HashMap : 有去重的功能(该功能属于key列)
TreeMap : 有排序的功能(该功能属于key列)

map 中的方法

            HashMap<String, Integer> map = new HashMap<>();
            map.put("wanglong", 12);
            map.put("dongdong", 17);
            map.put("jiejie", 22);
            map.put("liuliu", 19);

            // 判断map中是否包含 某个key
            boolean b1 = map.containsKey("wanglong");
            System.out.println(b1);
            // 是否包含 某个value
            boolean b2 = map.containsValue(12);
            System.out.println(b2);

            // 获取所有key的Set集合(核心方法)
            Set<String> keySet = map.keySet();
            System.out.println(keySet);

            // 获取所有value集合
            Collection<Integer> values = map.values();
            System.out.println(values);

            // 通过key删除整个键值对
            Integer delValue = map.remove("wang");
            System.out.println(delValue);
            System.out.println(map);

            // 清空map
            map.clear();
            System.out.println(map);
// 控制台打印
true
true
[dongdong, wanglong, jiejie, liuliu]
[17, 12, 22, 19]
null
{dongdong=17, wanglong=12, jiejie=22, liuliu=19}
{}

猜你喜欢

转载自blog.csdn.net/qq_37113621/article/details/82502660
今日推荐