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    不错的播客

 

posted @ 2017-04-17 12:33  自由不过是一种漂泊  阅读(179)  评论(0编辑  收藏  举报