Java 集合框架简述

 

Java 集合框架简述

1、集合框架的几个特性:高性能、易扩展、互用性以及对集成标准数组的支持。(事实上,C++中称为容器的东西在Java中称为集合)

2、迭代器(Iterator):提供了通用标准的访问集合元素的方式,即一次访问一个。因此,迭代器提供了一种列举集合内容的方法。并且,任何集合都实现了迭代器接口。

3、集合框架还包括映射接口和类。如Maps,用于存储键/值对。

4、集合接口Collection:集合框架的基础,包含add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray等基础方法。

5List(序列)接口:使用基于0的索引,可以包含相同的元素。

6Set 接口:集合中不允许有相同的元素。

7SortedSet 口:扩展Set接口,并声明为升序的集合。

8ArrayList :扩展了AbstractList接口,实现List 接口。Java中数组是定长的,一旦建立,长度就不能改变(与C不同,Java的数组长度在初始化时是可以用参数指定的)。ArrayList类支持动态大小的数组。实际上,ArrayList是一个对象引用的变长数组。ArrayList是一个对象引用的变长数组

  答:集合加的不是对象,而是引用,Vector也一样)。如以下程序输出为true:

public class test2 {  
 public static void main(String[] args) {
  test2 t1 = new test2();
  
  Vector ar = new Vector();
  //ArrayList ar = new ArrayList();
  ar.add(t1);
  
  System.out.println(t1 == ar.iterator().next());
  
 } }

9LinkList 类:扩展AbstractSequentialList,实现List 接口,提供链表型的数据结构

10HashSet 类:扩展AbstractSet,实现Set 接口,创建Hash表存储的集合。其最大的优点是由于使用了Hash表技术,即使是很大的集合,其基本操作时间也不会很长。HashSet 中元素顺序不一定。

11LinkedHashSet :以元素插入的顺序来维护集合的链接表。(也就是说集合中的元素顺序与输入顺序一致)

12 TreeSet:使用树接口存储,Set 接口的实现。对象以升序顺序存储。其访问和遍历顺序很快。

13、迭代器:IteratorListIterator(允许双向遍历和元素修改)。

14RandomAccess接口:没有成员,但通过实现它,说明集合支持对元素的有效的随机访问。

15、映射接口:Map接口(基本方法get, put),SortedMap接口(以键的升序保存键/值对),Map.Entry接口(MapentrySet方法,返回包含所有映射键值对的集合,集合的每个元素是一个Map.Entry对象)

16、映射类:HashMap类,TreeMap(树结构的Map实现,以排序方式存储键值对),LinkedHashMap(扩展HashMap,以元素插入的顺序维护链表)

17、比较器 Comparator接口:精确定义集合中元素的排序,需要在构造一个集合或者映射时就指定一个比较器对象。(初步学习)

18、数组:Arrays类,提供了处理数组是很多有用的方法。

19、老版本的遗留类:遗留类都是同步的,但是集合类都不是同步的。遗留类有:Enumeration接口(被Iterator取代);Vector(用ArrayList取代);StackVector的子类);Dictionary抽象类(类似映射);HashtableDictionary的实现);PropertiesHashtable的子类,保存键/值都是字符串的情况)

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值