集合

集合

1.   集合API的类图结构

:

2.   Collection接口定义了存取一组对象的方法,其子接口Set和List分别定义了存储方式.

3.   Set接口是Collection的子接口,Set接口的容器类中的元素是么有顺序的,而且不可以重复.其可以与数学中的”集合”概念相对应.

4.Set容器类有HashSet,TreeSet.

TreeSet的特点:其运行的结果已经按照字母顺序排序.因为其的有序性,在进行查找时使用二分法进行高效的查找.

5. List接口是Collection的子接口,List接口的容器类中的元素是有顺序的,而且可以重复.List中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素.

List接口类有ArraryList,LinkedList, Vector等.

ArraryList:底层是数组结构,所以查询快,修改,删除,插入慢.

LinkedList:底层是双向离岸边结构,查询慢,修改,删除,插入块.

Vector: 底层是数组结构,区别是:线程安全,效率底.

6. List的方法有:

Object get(int index);

Object set(int index, Object element); //返回旧的元素          

void add(int index, Object element);            

Object remove(int index);                      

int indexOf(Object o);

int lastIndexOf(Object o);

7.    List 常用的算法:

Collections.sort(List) 对list内的元素排序

Collections.shuffle(list)  对list容器内的对象进行随机排列

Collections.reverse(list)  对list容器内的对象进行逆序排列

vCollections.fill(list,Object) 用一个特定的对象重写整个list容器.

Collections.copy(list dest,listsrc) 将src list容器内容拷贝到destlist,

Int i = Collections.binarySearch(list , object)对于顺序的list容器,采用二分法查找特定的对象.(Integer 不能 , String 可以)

8.                   Map接口:实现Map接口的类用来存储键(Key)—值(Value)对,

键(Key)—值(Value)构成一组Entry.

Map接口的实现类有HashMap和TreeMap,Hashtable等等.

Hashtable为线程安全.

Map类中存储的键(Key)—值(Value)对通过键来标识,所以键值不能重复.

Map的三种遍历:Map.Entry<>    entrySet( ){ };

9.                   打包:自动将基础类型转换为对象.

解包:自动将对象转换为基础类型.

10.              数组算法Arrays

Java.unti.Arrays

Arrays.toString         将数组转换成字符串输出

Arrays.sort          数组排序

Arrays.hashCode      得到数组的hashCode

Arrays.fill             数组元素填充

11.  Iterator接口:所有实现了Collection接口的容器类都有一个Iterator方法用以返回一个实现了Iterator接口的对象.

Iterator对象成为迭代器,用以方便简单的把容器类的元素的遍历操作.

Iterator.hasNext()//判断游标右边是否有元素

Iterator. Next()  //返回游标右边的元素并将游标移动到下一个位置.

12.Comparable接口:所有的可以”排序”的类都实现了Java.lang.Comparable接口.Comparable接口只有一个办法,

public   int  compareTo(Object   obj):该方法:

返回 0 表示:this ==obj;

返回整数表示this>obj;

返回负数表示 this< obj

实现了Comparable接口的类通过实现ComparaTo方法从而确定该类对象的排序方式.

13. Hashcode 是一种编码方式.每个对象都会有一个hashcode,它实现了一种无顺序的元素排列.

两个对象值相同(x.equals(y)== true),则一个有相同的hashcode,相反:hashcode相同 ,对象未必相等.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值