集合
来源:互联网 发布:windows共享权限设置 编辑:程序博客网 时间:2024/06/10 01:58
1、 java中,提供了java集合框架(Java Collections Framework,JCF),对一些数据结构和相关算法进行封装。
2、 集合也是一种对象,但它是一种特殊的对象:对象的容器,用于存储、检索、操纵和传输对象。
3、 Java集合框架提供了用于管理集合的接口和类,包括接口、实现类和算法类。
4、 如下是集合的结构图:
5、 Collection接口置于最顶层,几乎所有的集合框架成员都源于自该接口,或者和它有密切的关系。是最核心的。
6、 列表(List) 直接从Collection中派生出来,它代表“有序集”(集合中的元素按照一定的顺序存放),由各种负责提供有序数据集合的集合类来实现。
7、List接口:
7.1 、List接口的实现类:
1) ArrayList: 在概念上与数组类似;区别在于ArrayList没有预先确定的大小,其长度可按需增大;
2) Vector: 与ArrayList几乎相同,在多线程中使用Vector比较安全。
3) LinkedList: 实现链表的功能,可以添加、删除或获取链表开头或结尾的元素。
4) Stack:是Vector的一个变体,实现了堆栈的功能。
7.1、List有:add();增,set();改,remove();删除,get();查,size();查看集合长度等方法。
8、Set接口: 8.1、Set接口从Collection接口中直接派生,列表是元素的有序集合,内容不能重复。而Set(集)则是元素唯一的集合(集中必须包含唯一的项)。 8.2、Set接口的实现类: 1)HashSet: HashSet中的数据是无序的。数据具有唯一性。 2)TreeSet: TreeSet是以树为基础的集,所以数据是有序的。从中继承的元素顺序可以 保证升序排列。 8.3、Set接口的方法有:add();remove();size();因为它存放的很散乱,没有下标,所以没有get()方法,所以我们要遍历set就必须使用Iterator迭代器或For-Each循环。 9、Map接口: 9.1、Map接口用于维护键/值对(key/value)。所以键都必须是唯一的。 9.2、Map接口的实现类: 1)HashMap:HashMap将它的键保存在哈希表中进行维护,键是唯一的,键顺序可变, 键/值都可以为空。 2)TreeMap:TreeMap的键存放在数中,键的顺序一定是升序排列。 3)HashTable:任何非null对象都可以用作键或值。 9.3、Map的常用方法:put();存;get();根据键取元素;keySet();返回此映射中包含的键的 10、Iterator接口: 10.1、Iterator是一种用于遍历集合的接口。每个集合实现都有一个名为interator()的方法, 该方法返回Iterator类的一个实例。 10.2、Iterator接口的方法: 1)hasNext(); 如果集合中还有更多元素,该方法返回true; 2)next(); 返回集合中的下一个元素。 3)remove(); 删除iterator返回的最后一个元素。 例: Set set = new HashSet(); set.add(1); set.add(3); set.add(2); //迭代器 Iterator l = set.iterator(); while(l.hasNext()){ System.out.println(l.next()); } 11、For-Each:只要是集合都能用。 例:Set set = new HashSet(); set.add(1); set.add(3); set.add(2); //for - each for(Object a : set){ System.out.println(a); } 12、泛型: 12.1、泛型是JDK1.5中的新功能。用来指定集合里元素的类型,可以得到强类型在编译的 时候进行类型检查的好处。 12.2、用法:ArrayList<integer> al = new ArrayList<Integer>(); 13、算法类的方法有Collections(包含在collection上操作的算法,如排序(sort)、替换、查找等) 、Arrays(包含用来操作数组(比如排序和搜索)的各种方法) 、Comparator 、 Comparable。 14、枚举:只能取一定范围内的值。作用:1)控制取值;2)根据业务(位置)进行比较。 15、接口、类、枚举、注解都是直接创建文件的。Set
视图; values();返回此映射中包含的值的 Collection
视图;remove(); 根据键删除 值;size();取长度。