【javaSE】Collection框架及List集合

************************************************************************ ****原文:blog.csdn.net/clark_xu徐长亮的专栏************************************************************************

在事件的开发中,需要将使用的对象存储于特定的数据结构的容器中。JDK提供集合框架Collection和map

l 接口Collection包括两个子接口:接口List和接口Set

l List接口包括两个实现类:ArrayList,LinkedList类

l Set接口包括两个实现类:HashSet,TreeSet类

map接口包括两个实现类:HashMap和TreeMap类

4.1 Collection接口的常用方法

l int size(); 返回包含对象的个数

l boolean isEmpty(); 返回是否会空

l void clear() ;清空集合

l boolean add(E e);向集合添加对象

l boolean remove(Object o):从集合中删除对象

l boolean addAll(Collection<? extends E> c):将另一个集合的所有元素添加集合中

l Boolean removeAll(Collection<?> c);删除集合中和另外一个集合相同的全部元素

l Iterator<E> iterator(); 返回集合的迭代器

4.2 ArrayList和LinkedList

List接口是Collection的子接口,用于定义线性表数据结构;List接口的两个常见实现类为ArrayList和LinkedList分别用动态数组和链表的方式实现List接口。可以认为ArrayList和LinedList的方法逻辑上完全一样,但是性能有一定的差别。ArrayList适合于随机的访问,而LinkedList更适合于插入和删除;

ArrayList用动态数组实现List,可以通过下标迅速的索引到对应的元素,但是元素的插入删除时需要移动较多元素

ListedList用链表实现List,在删除或者插入时,只需要改变链接”指针“既可以实现;

4.3 List的常用方法4.3.1 List继承Collection类的方法

List接口的实现类实现了Collection定义的方法

List list=new ArrayList();

//add方法将对象的引用添加到集合中

list.add(“one”);

//List的实现类重写了toString方法,一次调用包含对象的toString方法

list.toString();

//size方法返回当前集合存放对象的数量

list.size();

//clear方法清空集合

list.clear();

list.isEmpty();

//List实现类实现的contains方法用于判断集合中是否包含某一个对象。具体的逻辑是:依次调用集合所包含的对象的equals方法与待判断对象比较;因此集合对象,需要妥善的重写equals方法。

list.contains(p)

//remove方法同样和对象的equals方法相关。

list.remove(p);

//addAll方法将另外一个集体的元素全部添加进来

list1.addAll(list2)

//removeAll 删除所有与另外一个集合相同的元素

list1.removeAll(list2)

//retainAll保留与另外一个集合相同的元素,取交集。

toArray方法,将集合中的对象以对象数组的方式返回。例如

String[] arry=(String[])list.toArray(new String[]{})

4.3.2 List类定义的方法

List类根据线性表的特点定义了一系列的方法。

get方法根据下标获取相应的元素,例如list.get(i).toString();

set方法根据下标参数,将改元素设置的指定的元素并且可以返回改下标原始的数据。

Object obj=list.set(2,”三”)

利用此特性,可以实现第i元素和第j元素的互换

list.set(j,list.set(i,list.get(j)))

人之所以有一张嘴,而有两只耳朵,原因是听的要比说的多一倍。

【javaSE】Collection框架及List集合

相关文章:

你感兴趣的文章:

标签云: