#java读书笔记#集合框架3

来源:互联网 发布:域名注册通讯地址 编辑:程序博客网 时间:2024/06/05 23:44


7、集合类各容器方法:
接口Collection方法摘要(没有构造方法)
a)添加:
i.  boolean add(E e)
j.  boolean addAll(Collection c)
b)删除:
i.  void clear():清空容器
j.  boolean remove(Objec object):
k.  boolean removeAll(Collection c):
c)判断:
i.  boolean contains(Object object):判断是否包含此元素
j.  boolean containsAll(Collection c):判断是否包含一堆元素
k.  boolean equals(Object object):比较此collection与指定对象是否相等
m.  boolean isEmpty():判断是否集合为空
d)获取:
h.  Iterator iterator():取出
i.  int hashCode():返回此collection的哈希值
j.  int size():返回此collection中元素的个数
k.  boolean retainAll(Collection c):取交集
m.  Object toArray():返回此collection中所有元素的数组
n.  T[] toArray(T[] a):返回包含此collection中所有元素的数值。
List集合子类及其方法
(1)List接口是Collection接口的一个子接口。
(2)List接口中的元素有如下特点(对角标的操作都是特有方法,因为有序):
A:元素有序(存储顺序和取出顺序一致)
B:元素可以重复
(3)List接口中的特有方法
A:add(int index,Object obj):在指定位置加入元素
B:remove(int index):移除指定位置的元素
C:set(int index,Object obj):修改指定位置的元素
D:get(int index):获取指定位置的元素
E:indexOf(Object obj):获取指定元素的位置
F:subList(int start,int end):从一个大的List中截取一个小的List

G:listIterator():返回一个List接口特有的迭代器


(1)、ArrayList:
    构造方法摘要:(少用,不是重点)
ArrayList():构造一个初始容量为 10 的空列表。
ArrayList(Collection<? extends E> c): 构造一个包含指定 collection 的元素的列表,  
ArrayList(int initialCapacity): 构造一个具有指定初始容量的空列表。
    方法摘要:
添加:
boolean add(E e): 将指定的元素添加到此列表的尾部。
void add(int index, E element): 将指定的元素插入此列表中的指定位置。
boolean addAll(Collection<? extends E> c):按照指定 collection 的迭代器所返回的元素顺序,
将该 collection 中的所有元素添加到此列表的尾部 
boolean addAll(int index, Collection<? extends E> c): 从指定的位置开始,将指定 collection
      中的所有元素插入到此列表中。 
删除:
void clear(): 移除此列表中的所有元素。
E remove(int index): 移除此列表中指定位置上的元素。 
boolean remove(Object o): 移除此列表中首次出现的指定元素(如果存在)。
protected  void removeRange(int fromIndex, int toIndex): 
移除列表中索引在 fromIndex(包括)和 toIndex(不包括)之间的所有元素。
boolean removeAll(Collection<?> c): 从列表中移除指定 collection 中包含的其所有元素 
|获取:
E get(int index): 返回此列表中指定位置上的元素。
int indexOf(Object o): 返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回 -1。
int lastIndexOf(Object o) 返回此列表中最后一次出现的指定元素的索引,或如果此列表不包含索引,则返回 -1。   
public List<E> subList(int fromIndex,int toIndex): 返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间的部分视图。
Iterator<E> iterator(): 返回按适当顺序在列表的元素上进行迭代的迭代器。
ListIterator<E> listIterator(int index):返回列表中元素的列表迭代器(按适当顺序),从列表的指定位置开始。
修改:(特有方法!!)

E set(int index, E element): 用指定的元素替代此列表中指定位置上的元素。 


(2)LinkedList:
构造方法摘要:
LinkedList(): 构造一个空列表。 
LinkedList(Collection<? extends E> c): 构造一个包含指定 collection 中的元素的列表,
      这些元素按其 collection 的迭代器返回的顺序排列。
方法摘要:(特有的)
添加
void addFirst(E e): 将指定元素插入此列表的开头。 
void addLast(E e): 将指定元素添加到此列表的结尾。 
获取元素,但不删除元素
E get(int index): 返回此列表中指定位置处的元素。           
E getFirst(): 返回此列表的第一个元素。          
E getLast(): 返回此列表的最后一个元素。
获取元素且删除元素
E remove(): 获取并移除此列表的头(第一个元素)。          
E remove(int index): 移除此列表中指定位置处的元素。         
boolean remove(Object o): 从此列表中移除首次出现的指定元素(如果存在)。         
E removeFirst(): 移除并返回此列表的第一个元素。 
E removeLast(): 移除并返回此列表的最后一个元素。
修改
E set(int index, E element) 将此列表中指定位置的元素替换为指定的元素。 
(3)Vector
构造方法摘要:
Vector(): 构造一个空向量,使其内部数据数组的大小为 10,其标准容量增量为零。          
Vector(Collection<? extends E> c):  构造一个包含指定 collection 中的元素的向量,
   这些元素按其 collection 的迭代器返回元素的顺序排列。
方法摘要:
添加:
boolean add(E e): 将指定元素添加到此向量的末尾。
void add(int index, E element): 在此向量的指定位置插入指定的元素。         
boolean addAll(Collection<? extends E> c):
将指定 Collection 中的所有元素添加到此向量的末尾, 
按照指定 collection 的迭代器所返回的顺序添加这些元素。 
boolean addAll(int index, Collection<? extends E> c): 在指定位置将指定 Collection 中的所有元素插入到此向量中。
获取:
Enumeration<E> elements(): 返回此向量的组件的枚举。
  Vector特有的取出方式:
  枚举和迭代器很像,其实枚举和迭代器是一样的,只是因为枚举的名称和方法的名称
  名字都过长,所以枚举被迭代器取代了。
枚举Enumeration的方法摘要:
boolean hasMoreElements(): 测试此枚举是否包含更多的元素。 
E nextElement(): 如果此枚举对象至少还有一个可提供的元素,
 则返回此枚举的下一个元素。 


Set集合子类及其方法

(1)HashSet:它不保证set的迭代顺序;特别是它不保证该顺序恒久不变.此类允许使用null元素。 
构造方法:
HashSet() 构造一个新的空 set,其底层 HashMap 实例的默认初始容量是 16,加载因子是 0.75。
HashSet(Collection<? extends E> c) 构造一个包含指定 collection 中的元素的新 set。
方法摘要:
boolean add(E e) 如果此 set 中尚未包含指定元素,则添加指定元素。   
void clear() 从此 set 中移除所有元素。 
Object clone() 返回此 HashSet 实例的浅表副本:并没有复制这些元素本身。 
boolean contains(Object o) 如果此 set 包含指定元素,则返回 true。 
boolean isEmpty() 如果此 set 不包含任何元素,则返回 true。  
Iterator<E> iterator() 返回对此 set 中元素进行迭代的迭代器。 
boolean remove(Object o) 如果指定元素存在于此 set 中,则将其移除。  
int size() 返回此 set 中的元素的数量(set 的容量)。  
(2)TreeSet:使用元素的自然顺序对元素进行排序,或者根据创建 set 时提供的 Comparator 进行排序.
构造方法:
TreeSet() 构造一个新的空 set,该set根据其元素的自然顺序进行排序。          
TreeSet(Collection<? extends E> c) 
构造一个包含指定 collection 元素的新 TreeSet,它按照其元素的自然顺序进行排序。 
TreeSet(Comparator<? super E> comparator)  构造一个新的空 TreeSet,它根据指定比较器进行排序。
方法摘要:
添加:
boolean add(E e)  将指定的元素添加到此 set(如果该元素尚未存在于 set 中)。
boolean addAll(Collection<? extends E> c) 将指定 collection 中的所有元素添加到此 set 中。
删除:
 void clear() 移除此 set 中的所有元素。 
 boolean remove(Object o)  将指定的元素从 set 中移除(如果该元素存在于此 set 中)。 
 E pollFirst() 获取并移除第一个(最低)元素;如果此 set 为空,则返回 null。 
 E pollLast() 获取并移除最后一个(最高)元素;如果此 set 为空,则返回 null。 
获取:
 Iterator<E> iterator()  返回在此 set 中的元素上按升序进行迭代的迭代器。
 E first() 返回此 set 中当前第一个(最低)元素。
 E last() 返回此 set 中当前最后一个(最高)元素。
 int size()  返回 set 中的元素数(set 的容量)。
判断:
boolean isEmpty()  如果此 set 不包含任何元素,则返回 true。 
boolean contains(Object o) 如果此 set 包含指定的元素,则返回 true。 
Map:将键映射到值的对象。Map集合没有迭代器!Map集合特点:该集合存储键值对。而且键是唯一的。
方法摘要:
   添加:
     V put(K key, V value) 将指定的值与此映射中的指定键关联(可选操作)。           
     void putAll(Map<? extends K,? extends V> m) 从指定映射中将所有映射关系复制到此映射中
   删除:
              void clear()  从此映射中移除所有映射关系(可选操作)。 
     V remove(Object key) 如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。
   判断
     boolean containsKey(Object key) 如果此映射包含指定键的映射关系,则返回 true。 
              boolean containsValue(Object value) 如果此映射将一个或多个键映射到指定值,则返回 true。
              boolean isEmpty() 如果此映射未包含键-值映射关系,则返回 true。 
           获取
     int size() 返回此映射中的键-值映射关系数。 
              Collection<V> values()  返回此映射中包含的值的 Collection 视图。


      重点:Map集合没有迭代器,以下是Map的两种取出方式:
      第一种:Set<K> keySet()
返回此映射中包含的键的Set视图,将Map集合中所有的键存入Set集合,然后再通过Set集合的
迭代器取出所有的键,再根据get方法获取每个键的值;
      第二种:Set<Map.Entry<K,V>> entrySet() 
返回此映射中包含的映射关系的Set视图,将Map集合中的映射关系存入到Set集合中,
这个映射关系的数据类型是Map.entry,再通过Map.Entry类的方法再要取出关系里面的键和值
Map.Entry的方法摘要:
boolean equals(Object o)  比较指定对象与此项的相等性。 
K getKey()  返回与此项对应的键。 
V getValue() 返回与此项对应的值。  
int hashCode() 返回此映射项的哈希码值。
V setValue(V value) 用指定的值替换与此项对应的值(特有!!!)。
0 0