Java集合类
来源:互联网 发布:淘宝网二手电动车 编辑:程序博客网 时间:2024/06/06 12:21
1,集合类
包含:set、list、map、queue四大体系。其中set代表无序、不可重复的集合;list代表有序、可重复的集合。map代表具有映射关系的集合;queue代表队列集合。
Java集合类与数组的区别:Java的集合类的长度是动态的,数组则是固定长度的。
List、Set、Map接口及各实现类的特性
接口
特性
实现类
实现类特性
成员要求
List
线性、有序的存储容器,可通过索引访问元素
ArrayList
数组实现。非同步。
Vector
类似ArrayList,同步。
LinkedList
双向链表。非同步。
Map
保存键值对成员
HashMap
基于哈希表的 Map 接口的实现,满足通用需求
任意Object对象,如果修改了equals方法,需同时修改hashCode方法
TreeMap
默认根据自然顺序进行排序,或者根据创建映射时提供的 Comparator进行排序
键成员要求实现caparable接口,或者使用Comparator构造TreeMap。键成员一般为同一类型。
LinkedHashMap
类似于HashMap,但迭代遍历时取得“键值对”的顺序是其插入顺序或者最近最少使用的次序
与HashMap相同
IdentityHashMap
使用==取代equals()对“键值”进行比较的散列映射
成员通过==判断是否相等
WeakHashMap
弱键映射,允许释放映射所指向的对象
ConcurrentHashMap
线性安全的Map
Set
成员不能重复
HashSet
为快速查找设计的Set
元素必须定义hashCode()
TreeSet
保持次序的Set,底层为树结构
元素必须实现Comparable接口
LinkedHashSet
内部使用链表维护元素的顺序(插入的次序)
元素必须定义hashCode()
2,List
特有方法:
(1)增加
void add(int index, E element):在列表的指定位置插入指定元素(可选操作)。
boolean addAll(int index, Collection<? extends E> c):将指定 collection中的所有元素都插入到列表中的指定位置(可选操作)。
(2)删除
boolean remove(Object o):从此列表中移除第一次出现的指定元素(如果存在)(可选操作)。
(3)修改
E set(int index, E element):用指定元素替换列表中指定位置的元素(可选操作)。
(4)查询
E get(int index):返回列表中指定位置的元素。
List<E> subList(int fromIndex, int toIndex):返回列表中指定的fromIndex(包括 )和toIndex(不包括)之间的部分视图。
ListIterator<E> listIterator():返回此列表元素的列表迭代器(按适当顺序)。
List集合特有迭代器:ListIterator是Iterator的子接口。在迭代时,不可以通过集合对象的方法操作集合中的元素,因为会发生ConcurrentModificationException异常。所以,在迭代时,只能用迭代器的放过操作元素,可是Iterator方法是有限的,只能对元素进行判断,取出和删除的操作。如果想要其他的操作如添加、修改等,就需要使用其子接口ListIterator,该接口只能通过List集合的ListIterator方法获取。
运行示例:
public static void main(String[] args) {
ArrayList al = new ArrayList();
al.add("java0");
al.add("java1");
al.add("java2");
al.add("java3");
sop("原集合是:"+al);
//演示列表迭代器
ListIterator li = al.listIterator();
while(li.hasNext()){
Object o = li.next();
if(o.equals("java2"))
li.set("java5");
}
sop("修改后集合是:"+al);
}
public static void sop(Object obj){
System.out.println(obj);
}
- Java集合:集合类详解
- Java集合-常用集合类
- JAVA【集合一】集合类
- JAVA中的集合类
- JAVA中的集合类
- JAVA中的集合类
- Java集合类(整理)
- java集合类
- JAVA中的集合类
- Java集合类笔记
- JAVA中的集合类
- java集合类
- java集合类总结
- JAVA中的集合类 - -
- JAVA中的集合类
- java集合类
- java 集合类
- java中的集合类
- androidPN java.lang.NoClassDefFoundError: org.androidpn.client.解决方法
- UVA1292-----Strategic game-----树形DP解决树上的最小点覆盖问题
- 详解Spring
- 重写 重载 抽象 接口
- System.Web.HttpException: 验证视图状态MAC失败。如果此应用程序由网络场或群集承载,请确保配置指定了相同的validationKey和验证算法……解决方案
- Java集合类
- SIOCADDRT: no such process
- 整理安装hadoop环境下JDK《JDK一定要1.6及以上,1.7不建议用》
- Ant
- 自学笔记java day01环境变量配置
- Web MVC简介
- MongoDB 的 GridFS 详细分析
- C#,关于和oracle连接的操作
- linux终端中输入sh命令后无法退出