• 集合下


    集合下:
    Set<E>:
    一个不包括重复元素的Collection

    HashSet<E>:
    他不保证set的迭代顺序
    保证元素唯一性的原理:
    hashset.add(E e)
    首先比较对象的哈希值,hashCode()用来计算哈希值
    如果哈希值相同就继续执行equals()对比如果返回true就不添加
    如果其他类中没有重写equals(),hashCode()方法就不能确保唯一性

    Map<k,v>:
    HashMap<k,v>:
    保证k的唯一性
    Map<k,v> map=new HashMap<k,v>();
    map.put(k,v);
    成员方法:
    map.put(k,v)//添加元素返回v的值
    map.remove(k)//以k删除元素返回被删除的v
    map.clear()//移除所有的元素
    map.containsKey(k)//用k检查元素是否包含指定的k
    map.containsValue(v)/用v检查元素是否包含指定的v
    map.isEmpty()//判断集合是否为空 不为空返回false
    map.size()//返回集合中的键值对的对数

    map.get(k)//根据k获取值
    Set<K> keys= map.keySet();//获取所有k的值
    Collection<v> values=map.values();//获取所有v的值
    Set<Map.Entry<k,v>> entries = map.entrySet();//获取一个以map<k,v>为集合的键值对集合

    Map集合的两种遍历:
    例:

     package com.hy_1;
    
            import java.util.HashMap;
            import java.util.Map;
            import java.util.Set;
    
            public class HashMapDemo {
                public static void main(String[] args) {
                    Map<String,String> map=new HashMap<>();
                    map.put("123","123");
                    map.put("456","456");
                    map.put("789","789");
                    map.put("198723","198723");
                    //通过k找v
                    Set<String> keys = map.keySet();
                    for (String key : keys) {
                        System.out.println(key+"-----"+map.get(key));
                    }
                    System.out.println("----------------------------");
                    //通过键值对对象的集合中找键和值
                    Set<Map.Entry<String, String>> entries = map.entrySet();
                    for (Map.Entry<String, String> entry : entries) {
                        System.out.println(entry.getKey()+"------"+entry.getValue());
                    }
    
    
                }
            }
        //其中之一练习:
            package com.hu_3;
    
            import java.util.ArrayList;
            import java.util.HashMap;
            import java.util.Map;
            import java.util.Set;
    
            public class ArrayListInHashMap {
                public static void main(String[] args) {
    
                    ArrayList<HashMap<String, String>> arrayList = new ArrayList<>();
                    HashMap<String, String> map = new HashMap<>();
                    map.put("孙策", "大乔");
                    map.put("周瑜", "小乔");
                    arrayList.add(map);
                    HashMap<String, String> map2 = new HashMap<>();
                    map2.put("郭靖", "黄蓉");
                    map2.put("杨过", "小龙女");
                    arrayList.add(map2);
                    HashMap<String, String> map3 = new HashMap<>();
                    map3.put("令狐冲", "任盈盈");
                    map3.put("林平之", "岳林姗");
                    arrayList.add(map3);
                    for (HashMap<String, String> stringStringHashMap : arrayList) {
                        Set<Map.Entry<String, String>> keys = stringStringHashMap.entrySet();
                        for (Map.Entry<String, String> key : keys) {
                            System.out.println(key.getKey() + "---" + key.getValue());
                        }
                        System.out.println("---------");
                    }
    
                }
            }
  • 相关阅读:
    .NET反射的优化
    jdk、tomcat、solr环境搭建
    实现简单的ORM
    异步async/await简单应用与探究
    线程(Thread,ThreadPool)、Task、Parallel
    序列化
    IEnumerable与IEnumerator
    URL重写与URL路由
    django rest framework(10)
    restful 规范
  • 原文地址:https://www.cnblogs.com/xiaohucode/p/13273597.html
Copyright © 2020-2023  润新知