• java 的集合框架


    java 中的集合分为 Collection 和 Map 两种接口,Collection是单列集合,Map是双列集合。

    Collection单列集合:继承了Iterator接口所以具有了iterator()方法 ,该方法返回一个Iterator,这个接口具有 hasNext (),next(),remove() 3个方法可以在实现类里完成实现。

    Collection 有两个子接口 set 和 list。

    set:储存唯一,不要求有序的对象;
    set存储的是元素的引用,如两个元素的引用相等,或者其值相等,hash值也相等,则set只保存一个,同理set集合中只有一个null;

    list:存储不唯一,但有序的对象
    list的两个实现类:
    ArrayList:与数组相同的存储方式,但是存储集合的大小可变,比数组更灵活。
    LinkedList:链式储存,集合的每一项都储存了下一项的引用,更利于元素的新增和删除操作。
    ArrayList 查询和修改快,LinkedList新增和删除快。

    其实在ArrayList之前还有一个 Vector 集合类,它与ArrayList基本相同,最大的区别就是Vector是线程安全的,而ArrayList是线程不安全的。
    ArrayList 线程不安全,而速度快,Vector 线程安全,但速度慢。

    Map:双列集合,集合中的每一项都是成对的key、value。
    Map接口并不继承Iterable接口或实现该接口所以不能直接进行遍历
    key:有唯一,不要求有序
    value:不唯一,不要求有序
    Map集合遍历的三种方法:

        public static void main(String[] args) {
    
              Map<String,String> map=new HashMap<String,String>();
              map.put("CN", "中华人民共和国");
              map.put("UK","联合国");
          
            //方法1 双列集合无法遍历了?那就通过方法把他转成单列 ! 用集合名.entryset方法 得到Set<Entry<String, String>>的返回值
              for (Entry item : map.entrySet()) {
                System.out.println(String.format("key的值是%s	value的值是%s",item.getKey(),item.getValue()));
              }
              
            //方法2 通过得到key键的集合,然后通过Map的方法map.get(key)用key得到value
              for (String key : map.keySet()) {
                System.out.println(String.format("key的值是%s	value的值是%s",key,map.get(key)));
              }
    
              //方法3for循环中自动实现了迭代器,如不用for循环,那就手动完成迭代器操作
              Iterator<String> keys=map.keySet().iterator();
              while(keys.hasNext()){
                 String item=keys.next();
                  System.out.println(String.format("key的值是%s	value的值是%s",item,map.get(item)));
              }  
        }
    

    如果只是想遍历value的值那直接使用 map.values()方法就行了。

  • 相关阅读:
    蒙特卡洛采样、重要性采样
    伯努利分布和高斯分布下的最大似然估计、交叉熵
    对于分类问题的神经网络最后一层的函数:sigmoid、softmax与损失函数
    android 侧滑菜单
    安卓Animation类与xml制作动画
    LeetCode题解 #3 Longest Substring Without Repeating Characters
    GY89的使用
    使用GY89的BMP180模块获取温度和压强(海拔)
    STM32与PC机串口通讯
    STM32使用无源蜂鸣器演奏歌曲
  • 原文地址:https://www.cnblogs.com/cag2050/p/7246574.html
Copyright © 2020-2023  润新知