java基础之集合类

一、Java集合类是什么?java集合类型主要有哪些?

首先看一张概念图,这里囊括了集合类的大部分关系及内容
这里写图片描述
集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象就是指集合中对象的引用(reference)。
通俗地讲,集合类就是把一些对象的引用放在一起(特别是我们需要存放一些数据却不知道个数的情况下),便于我们直接从集合中使用这些引用。通常来说,集合内所包含的引用,都是具有某种特性。
集合类型主要有3种:set(集)、list(列表)和map(映射)。

二、set、list和map的区别有哪些?
用一个表格总结一下

List和Set是继承了Collection接口,List有序且允许元素重复,Set不允许元素重复。ArrayList、LinkedList和Vector是List的三个主要的实现类,HashSet和TreeSet是Set的两个主要的实现类。
Map则是与List和Set有所不同,区别就在于Map是键与值之间的关系,而其中的键我们就可以看做是一个集合。其中的键是必须唯一的,而值可以重复。

三、详细解析

1、Collection常用方法

  Collection coll=new ArrayList();  
    Collection coll2=new ArrayList();  
    Object[] a = {new Integer(1)};  
    //单元素操作  
    boolean b = coll.add("123");//添加元素  
    boolean b1 = coll.remove("123");//删除元素  
    //查询操作  
    int i = coll.size();//返回当前集合中元素的数量  
    boolean b2 = coll.isEmpty();//判断集合中是否有任何元素  
    boolean b3 = coll.contains("123");//查找集合中是否含有对象"123"  
    Iterator ite = coll.iterator();//返回一个迭代器,用来访问集合中的各个元素  
    //组操作  
    boolean b4 = coll.containsAll(coll2);//查找集合中是否含有集合coll2中所有元素  
    boolean b5 = coll.addAll(coll2);//将集合coll2中所有元素添加给该集合  
    coll.clear();//删除集合中所有元素  
    boolean b6 = coll.removeAll(coll2);//从集合中删除集合coll2中的所有元素  
    boolean b7 = coll.retainAll(coll2);//从集合中删除集合coll2中不包含的元素  
    //Collection转换为Object数组  
    Object[] obj = coll.toArray();//返回一个内含集合所有元素的array  
    //返回一个内含集合所有元素的array。运行期返回的array和参数a的型别相同,需要转换为正确型别。  
    Object[] obj1 = coll.toArray(a);  

2、List的常见用法

List普通用法:

    List list = new ArrayList();  
    //添加元素  
    list.add(1);  
    //在2处添加元素  
    list.add(2, 1);  
    //添加集合  
    list.addAll(new ArrayList());  
    //在3处添加集合  
    list.addAll(3,new ArrayList());  
    //取得1处的元素  
    Object obj = list.get(1);  
    //返回对象"1"第一次出现的位置,没有则为-1  
    int i= list.indexOf(1);  
    //返回对象"1"最后一次出现的位置,没有则为-1  
    int j= list.lastIndexOf(1);  
    //删除2位置的元素  
    list.remove(2);  
    //将1处的对象改为"2"  
    list.set(1, 2);  

List特殊用法:

  List list = new ArrayList();  
    //返回一个列表迭代器,用来访问列表中的元素  
    ListIterator listIterator = list.listIterator();  
    //返回一个列表迭代器,用来从指定位置2开始访问列表中的元素  
    ListIterator listIterator2 = list.listIterator(2);  
    //从1(包含)到2(不包含)范围中各个元素的列表视图  
    List subList = list.subList(1, 2);  

LinkedList的特殊用法:

    //构建一个空的链接列表  
    LinkedList list = new LinkedList();  
    //构建一个空的链接列表,并且添加集合list的所有元素  
    LinkedList list1 = new LinkedList(list);  
    //将对象1加到列表开头,addLast()加到最后  
    list.addFirst(1);  
    //获得第一个元素,getLast()获得最后一个元素  
    Object obj = list.getFirst();  
    //移除第一个元素,removeLast()移除最后一个元素  
    list.removeFirst();  

ArrayList的特殊用法:

  ArrayList list = new ArrayList();  
    //将ArrayList对象容量增加5  
    list.ensureCapacity(5);  
    //整理ArrayList对象容量为列表当前大小,程序可使用这个操作减少ArrayList对象存储空间.  
    list.trimToSize();  
  • 12
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值