博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
集合Collections,List
阅读量:6952 次
发布时间:2019-06-27

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

Collections:动态的存放多个对象。长度是可以改变的。两个常用的子接口如下:

集合List:存放的元素有序且允许有重复的集合接口。

      List接口常用的实现类有ArrayListVectorLinkedList

三者的区别ArrayList :是使用数组结构实现的List集合,对于使用索引取出元素有较好的效率。但是插入删除的效率较慢。LinkedList是使用双向链表实现的集合,它的访问效率低,但是插入删除效率高。Vector是旧版的ArrayList,它大多数操作跟ArrayList相同,区别之处在于Vector是线程同步(安全的)的。

Set:存放的元素不包含重复的集合接口,根据每个对象的哈希码值用固定的算法算出它的存储索引,把对象存放一个叫散列表的相应位置中,在取对象时根据对象的哈希码值计算出它的存储索引,在散列表的相应位置上的元素间进行少量的比较操作就能找到它。

重复内容是指依据hashCode()equals()两个方法区分的,它会先比较哈希值,然后再equals()比较。如果哈希值相等,equals返回true,则表示这两个对象是同一个对象。

参考文档JDK API 1.6

Collection接口定义的方法,这些方法被SetList继承:

int size(); 返回此collection中的元素数

boolean isEmpty(); 判断此collection中是否包含元素。

boolean contains(Object obj); 判断此collection是否包含指定的元素。用集合中的元素依次.equals(传入contains方法的obj)

boolean containsAll(Collection c); 判断此collection是否包含指定 collection中的所有元素

boolean add(Objectelement); 向此collection中添加元素

boolean addAll(Collection c);将指定collection中的所有元素添加到此collection

boolean remove(Object element); 从此collection中移除指定的元素。

boolean removeAll(Collectionc); 移除此collection中那些也包含在指定 collection 中的所有元素。

void clear(); 移除collection中所有的元素。

booleanretainAll(Collection c); 仅保留此collection中那些也包含在参数指定collection的元素。即从列表中移除未包含在指定 collection 中的所有元素.在调用的对象中只保留交集.如果操作成功,返回true

Iteratoriterator(); 返回在此collection的元素上进行迭代的迭代器。

Object[]toArray(); 把此collection转成数组。

      通常使用Colleaction的实现类。比如List<String> list = newArrayList<String>();然后再向集合中添加元素,list.add(“a”);

      子接口List中新增的方法,都是针对List的索引操作的:

Object get(intindex) 返回列表中指定位置的元素

Object add(intindex, Object element);指定的位置插入元素。

Objectset(int index, Object element) ;替换指定位置的元素

Objectremove(int index) 删除指定位置的元素

List subList(intfromIndex, int toIndex):返回部分List视图

int indexOf(Object o)元素第一次出现的下标

本文转自 墨宇hz 51CTO博客,原文链接:http://blog.51cto.com/zzhhz/1623554

转载地址:http://yojil.baihongyu.com/

你可能感兴趣的文章
couchbase介绍与实践(一)
查看>>
JavaScript正则表达式(2)
查看>>
开源 | Rainbond 3.5 pre-release
查看>>
css中px、em、rem区别与使用
查看>>
两个男同事打架 公司决定要不离职, 要不手牵手一下午, 结果他俩就选择.........
查看>>
(三)java版spring cloud+spring boot 社交电子商务平台 - Spring Cloud集成项目简介
查看>>
本地搭建ios测试包上传下载安装环境(类似蒲公英)
查看>>
BCH大区块导致中心化其实是伪命题
查看>>
Linux软件包管理之源码安装
查看>>
求两个数的最大公约数两种方法
查看>>
结对编程讲义-PPT
查看>>
SOLR
查看>>
配置Nutch模拟浏览器以绕过反爬虫限制
查看>>
小牛电动的软文列表,和实际用户的反馈实在是天上地下。。
查看>>
list()详解
查看>>
mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
查看>>
IBM WebSphere MQ win 安装过程
查看>>
获取目录下子目录及文件的大小
查看>>
DNS服务器基本服务(正向、反向解析)、别名、递归、迭代、增量传输、完全传输...
查看>>
varchar nvarchar char nchar varchar2 nvarchar2
查看>>