集合

来源:互联网 发布:windows共享权限设置 编辑:程序博客网 时间:2024/06/10 01:58

 

1、  java中,提供了java集合框架(Java Collections FrameworkJCF),对一些数据结构和相关算法进行封装。

2、  集合也是一种对象,但它是一种特殊的对象:对象的容器,用于存储、检索、操纵和传输对象。

3、  Java集合框架提供了用于管理集合的接口和类,包括接口、实现类和算法类。

4、  如下是集合的结构图:

 

 

集合类1

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();查看集合长度等方法。

8Set接口:

8.1Set接口从Collection接口中直接派生,列表是元素的有序集合,内容不能重复。而Set(集)则是元素唯一的集合(集中必须包含唯一的项)。

8.2Set接口的实现类:

       1)HashSet: HashSet中的数据是无序的。数据具有唯一性。

       2)TreeSet: TreeSet是以树为基础的集,所以数据是有序的。从中继承的元素顺序可以                         保证升序排列。       

 

8.3Set接口的方法有:add();remove();size();因为它存放的很散乱,没有下标,所以没有get()方法,所以我们要遍历set就必须使用Iterator迭代器或For-Each循环。

9Map接口:

9.1Map接口用于维护键/值对(key/value)。所以键都必须是唯一的。

9.2Map接口的实现类:

       1)HashMapHashMap将它的键保存在哈希表中进行维护,键是唯一的,键顺序可变,   /值都可以为空。

       2)TreeMap:TreeMap的键存放在数中,键的顺序一定是升序排列。

       3)HashTable:任何非null对象都可以用作键或值。

9.3Map的常用方法:put();存;get();根据键取元素;keySet();返回此映射中包含的键的 Set    视图; values();返回此映射中包含的值的 Collection 视图;remove(); 根据键删除             值;size();取长度。

10Iterator接口:

10.1Iterator是一种用于遍历集合的接口。每个集合实现都有一个名为interator()的方法,          该方法返回Iterator类的一个实例。

10.2Iterator接口的方法:

       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());

              }

11For-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、接口、类、枚举、注解都是直接创建文件的。

 

 

 

 

 

原创粉丝点击