博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java基础讲解13-----集合
阅读量:6707 次
发布时间:2019-06-25

本文共 2581 字,大约阅读时间需要 8 分钟。

  一:集合介绍

 

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

 

转载于:https://www.cnblogs.com/qq3111901846/p/6722345.html

你可能感兴趣的文章
Google Docs API正式可用,可自动化文档任务和内容管理
查看>>
全面了解大数据“三驾马车”的开源实现
查看>>
GitHub宣布推出Electron 1.0和Devtron,并将提供无限制的私有代码库
查看>>
人工智能白热化,运维脱帽“背锅侠”
查看>>
Android中使PopupWindow显示在指定控件的上下左右!
查看>>
html中ul标签的优化
查看>>
Kurento安装与入门05——One to many video call
查看>>
[deviceone开发]-cnodejs论坛移动端App
查看>>
智能指针shared_ptr(effective modern c++笔记)
查看>>
Failed to validate a newly established connection异常
查看>>
关联对象 AssociatedObject 完全解析
查看>>
POST 后台404错误
查看>>
Ubuntu 解压zip文件名乱码问题解决
查看>>
动态规划
查看>>
Hibernate的延迟加载
查看>>
IE中input标签密码框与文本框宽度不一样问题
查看>>
【系统架构师修炼之道】(10):绪论——系统架构师的定义与职业素质
查看>>
Uber 开源地理可视化工具 Ketoper.gl,加速数据处理
查看>>
NSDate格式化小例
查看>>
运维不容错过的4个关键指标!
查看>>