没有合适的资源?快使用搜索试试~ 我知道了~
首页JAVA容器的作用和概览
JAVA容器的作用和概览
需积分: 12 157 浏览量
更新于2023-03-16
评论
收藏 107KB DOCX 举报
Collection 表示一组对象,它是集中,收集的意思,就是把一些数据收集起来 Collection接口的两个子接口: Set中的数据没有顺序,不可重复。 List中的数据有顺序,可重复。
资源详情
资源评论
资源推荐

容器的作用和概览........................................................................................................................ 1
Collecon 接口............................................................................................................................... 2
LIST 接口................................................................................................................................. 3
SET 接口................................................................................................................................. 3
Map 接口........................................................................................................................................ 4
Iterator 接口................................................................................................................................... 5
Collecons 工具类(B--级知识点)................................................................................................... 6
Comparable 接口(B 级知识点)................................................................................................. 7
容器的作用和概览
1. 数组总结回顾
a) 作用
是一种容器,可以在其中放置对象或基本类型数据。从而,实现使用数组管
理一组对象。
b) 优势
是一种简单的线性序列,可以快速的访问数组元素,效率高。如果从效率和
类型检查的角度讲,数组是最好的。
c) 劣势
不灵活:容量事先定义好,不能随着需求的变化而扩容。
比如:我们在一个用户管理系统中,要把今天注册的所有用户取出来,那么
这个用户有多少个?我们在写程序时是无法确定的。如果,你能确定那你就
是神了。因此,就不能使用数组。
因此,数组远远不能满足我们的需求。我们需要一种灵活的,容量可以随时
扩充的容器来装载我们的对象。这就是我们今天要学习的容器类,或者叫集
合框架。
2. 容器中的接口层次结构:

Collecon 接口
Collecon 表示一组对象,它是集中,收集的意思,就是把一些数据收集起来
Collecon 接口的两个子接口:
Set 中的数据没有顺序,不可重复。
List 中的数据有顺序,可重复。
Collecon 接口中定义的方法:
boolean add(Object element);
boolean remove(Object element);
boolean contains(Object element);
int size();
boolean isEmpty();
void clear();
Iterator iterator();
boolean containsAll(Collecon c);
boolean addAll(Collecon c);
boolean removeAll(Collecon c);
boolean retainAll(Collecon c); //交集
Object[] toArray();

LIST 接口
有序的 Collecon。此接口的用户可以对列表中每个元素的插入位置进行精确地控
制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中
的元素。
与 set 不同, 列 表 通 常 允许重复的元素。 更确切地 讲,列表通常 允 许 满 足
e1.equals(e2) 的元素对 e1 和 e2,并且如果列表本身允许 null 元素的话,
通常它们允许多个 null 元素。
多了一些跟顺序有关的方法:
void add( Object element);
void add (int index, Object element);
Object get (int index);
Object set (int index,Object element);//修改某一位置的元素
Object remove (int index);
int indexOf (Object o);//返回某个元素的索引。如果没有该数据,返回-1
LinkedList:底层用双向链表实现的 List。特点:查询效率低,增删效率高,线程
不安全。
ArrayList:底层用数组实现的 List。特点:查询效率高,增删效率低,线程不安全。
Vector:底层用数组实现的 List,特点:线程安全。
如何选用?
线程安全用 Vector。
线程不安全,查找较多用 ArrayList。增加或删除元素较多用 LinkedList
SET 接口
HashSet:采用哈希算法实现的 Set
HashSet 的 底 层 是 用 HashMap 实 现 的 , 因 此 , 查 询 效 率 高 。 由 于 采 用
Hashcode 算法直接确定元素的内存地址,增删效率也高。
Set s = new HashSet();
s.add ("hello");
s.add ("world");
s.add (new Integer(4));
s.add (new Double(1.2));
s.add ("hello"); // 相同的元素不会被加入
System.out.println (s);
剩余10页未读,继续阅读















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0