集合(一)

it2022-05-26  70

Collection接口

Collection接口继承了Iterable接口,在Conllection接口中,有以下抽象方法:

int size();返回集合中元素个数。

boolean isEmpty();返回集合是否为空。

boolean contains(Object o);返回集合内是否有元素o。

Iterator iterator();产生一个迭代器。

Object[] toArray();返回一个包含所有元素的数组。

boolean add(E e);返回添加一个元素e的结果。

boolean remove(Object o);返回删除一个元素o的结果。

Set接口

Set接口继承了Collection接口,用来包含一组无序无重复的对象,但是这个特性并不是Set接口本身就具备的,而是实现着个接口的类中体现的。

Set接口的常用实现类:

HashSet类:

在类中有两个重要的成员变量:

private transient HashMap<E,Object> map;这个变量是用来存储Set集合的,Set中的元素将会存放在HashMap中的key里面,这样来实现了无需无重复这一特点。

private static final Object PRESENT = new Object();这个变量是用来将set元素存进map集合时,生成与key对应的Object的。

HashSet集合的方法是调用对应的map方法。

TreeSet类:

在类中有两个成员变量:

private transient NavigableMap<E,Object> m;用来存放集合中的元素。

private static final Object PRESENT = new Object();对应元素的Object。

在调用TreeSet的构造函数时,最终都会New一个TreeMap对象。

LIst接口:

List接口继承了Collection接口,接口的常用实现类有:

ArrayList类:

内部使用数组实现,常用方法有:

void  add();添加一个元素。

Object get(int i);得到一个元素。

Object set(int i,Object o);修改一个元素。

int indexOf(Object o);返回元素的索引值。

int lastIndexOf(Object o);返回元素的最后一个索引值。

Object clone();复制这个集合。

Object remove(int i);删除一个元素。

lterator接口:

每个Collection接口的实现类中都有一个iterator的方法,返回值为这个接口的对象,在Collection实现类中都有一个内部类实现了Iterator接口。

Iterator接口中常用的方法:

Object next();下一个元素。

boolean hasNext();是否有下一个元素。

void remove();删除元素。

Map接口:

在Map接口中有一个内部接口Entry,Entry常用的方法有:

getKey();返回key的值。

getValue();返回value的值。

setValue();修改value的值。

Map中常用的方法有:

int size();返回Map中元素的个数。

boolean isEmpty();判断是否为空。

boolean containsKey(Object key);返回集合中是否有Key值。

boolean containsValue(Object value);返回集合中是否有value值。

get(Object key);返回value的值。

put(key,value);存放元素。

remove(Object key);删除。

Set keySet();返回一个key值的set集合。

Set entrySet();返回一个entry的set集合。

HashMap类:

在类中有一个内部类EntrySet。继承了AbstractSet接口,由entrySet方法获得对象。

在EntrySet类中有iterator方法,返回一个EntryIterator类的对象。这个类继承了HashIterator类和实现了Iterator接口,类中只有一个next()方法。这个方法使迭代器指针右移,返回值是Entry。

转载于:https://www.cnblogs.com/xiaosuye/p/11160172.html


最新回复(0)