zoukankan      html  css  js  c++  java
  • 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()方法就行了。

  • 相关阅读:
    Ubuntu 18.04 LTS 启用BBR
    MySQL with JDBC <一>
    HTML 实录 <一>
    Nginx CloudFlare 客户端真实IP
    Ubuntu 16.04 释放升级到 18.04 后, man: command exited with status 4
    JSP 从入门到精通 <一>
    Nginx URL重写
    JavaScript 修改 CSS 伪类属性
    i-83.net quadhost子产品
    HTML 重定向 页面跳转
  • 原文地址:https://www.cnblogs.com/cag2050/p/7246574.html
Copyright © 2011-2022 走看看