zoukankan      html  css  js  c++  java
  • 集合下

    集合下:
    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("---------");
                    }
    
                }
            }
  • 相关阅读:
    新版ubuntu中打开终端的方法和安装ssh 的方法
    HTML中利用404将老域名重定向到新域名
    KeelKit 1.0.3500.25185
    如何制作VSPackage的安装程序
    一副漫画:IE6滚回你老家去
    “表单控件”与“实体类”
    VS2005中得到 Web页面 或 窗体的 IDesignerHost
    一句SQL搞定分页
    CodeDom Assistant CodeDom的强大工具, 有些BUG修正了下,发到CodePlex,大家有需要的可以看看
    VS2005 出现 The OutputPath property is not set for this project. 错误的解决方法
  • 原文地址:https://www.cnblogs.com/xiaohucode/p/13273597.html
Copyright © 2011-2022 走看看