zoukankan      html  css  js  c++  java
  • java基础讲解13-----集合

      一:集合介绍


    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.Iterator;

     
     
    public class CollextionTest {
        
        /**
         * 集合在java中是非常重要的
         *
         * 1.什么是集合   :  集合又被成为容器,存放一些数据的,
         *
         * 2.集合与数组的区别  : 数组的长度是固定的,集合的长度是可变的。
         *                         数组用来存放基本类型的数据,集合用来存放对象的应用
         *
         * 3.集合的分类
         *         List  Set  Map  
         *
         * 都继承conllection这个接口 里面又很多方法
         *  比如  add() 添加   ,remove() 移除  ,isEmpty()  判断是否为空, size() 集合的长度   ,iterator()  迭代器
         *     
         */
        
        public static void main(String[] args) {
            
            Collection<String> list=new  ArrayList<String>();
            
            list.add("张三");
            list.add("张三1");
            list.add("张三2");
            
            //输出集合  利用迭代器
            Iterator<String> it=list.iterator();
            
            while(it.hasNext())  //如果迭代有更多元素,返回true。  没有了就false退出
            {
                String a=it.next();
                System.out.println(a);
            }
            
                
        
        }

    }

    二:List集合

          List集合包括List接口以及List接口的所有实现类。List集合中的元素可以重复,各元素的顺序就是对象插入的顺序。

          List接口继承了Collection接口,因此包含Collection里面的所有方法。还有两个自己定义的方法  get();  set();

    package com.swing;

    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.Iterator;
    import java.util.List;

     
     
    public class CollextionTest2 {
        
        /**
         * 集合在java中是非常重要的
         *
         * 1.什么是集合   :  集合又被成为容器,存放一些数据的,
         *
         * 2.集合与数组的区别  : 数组的长度是固定的,集合的长度是可变的。
         *                         数组用来存放基本类型的数据,集合用来存放对象的应用
         *
         * 3.集合的分类
         *         List  Set  Map  
         *
         * 都继承conllection这个接口 里面又很多方法
         * 比如  add() 添加   ,remove() 移除  ,isEmpty()  判断是否为空, size() 集合的长度   ,iterator()  迭代器
         *     
         */
        
        public static void main(String[] args) {
            
                List<String> list=new ArrayList<>();
                
                list.add("小米");
                list.add("大米");
                list.add("中米");
                
                for(int i=0;i<list.size();i++)
                {
                    System.out.println(list.get(i));
                }
                
        
        }

    }

    三:set集合

        set集合,是无顺序的,而且不能重复

        http://blog.csdn.net/chenssy/article/details/21988605   想深入了解就看这个 比较详细。我不常用‘

    四:Map集合

        Map集合没有继承collection接口,自己提供了key 到value的映射。Map里面不能包含相同的key,每个key只能映射一个value。

        key还决定了存储对象在映射中的存储位置,但是不是由key本身决定的,而是通过一种“散列技术”进行处理的。然后产生一个散列码的整数值,散列码通常做一个偏量值,

        用这个偏量值 对应分配到  映射的内存区域的起始位置,从而确定存储对象映射中的存储位置

        

        

        package com.swing;

     
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Set;

     
     
    public class CollextionTest3 {
        
       /**
        * map  接口实现的类又两个
        *
        *     HashMap/TreeMap
        *
        * HashMap : 添加,删除映射效率高,是基于哈希表的。 通过哈希码对其内部的映射关系进行快速查找。
        *
        * TreeMap  : 查找是有序的
        *
        *
        * @param args
        */
     
        
        public static void main(String[] args) {
            
             Map<String,String> map=new HashMap<>();
             map.put("001", "我哎你1");
             map.put("002", "我哎你2");
             map.put("003", "我哎你3");
             map.put("004", "我哎你4");
            
            
             System.out.println(map.get("001"));
        
             Set<String>  it=map.keySet();  //获取map集合中的key对象集合
            
             Iterator<String> iter=it.iterator();
            
             while(iter.hasNext())
             {
                 String key=iter.next();
                 String value=map.get(key);
                 System.out.println(value);
             }
            
             /**
              * map 集合允许对象为null   没有个数限制
              */
            
        }

    }

    http://cmsblogs.com    不错的播客

  • 相关阅读:
    Pycharm快捷键【mac版】
    程序解数独
    c++ map
    c++ vector 初始化二维数组
    二进制求和
    数组形式的加一
    坑题:最后一个单词的长度
    最大子序和:dp
    外观数列
    双指针消重复项
  • 原文地址:https://www.cnblogs.com/qq3111901846/p/6722345.html
Copyright © 2011-2022 走看看