集合小总结: 1、集合体系: 集合:单列集合(Collection) List: 有索引,可以重复,存取有序 ArrayList:底层是数组 LinkedList:底层是链表 Set: 没有索引,元素唯一,存储无序 HashSet:元素唯一,存储无序 LinkedHashSet:元素唯一,存取有序 双列集合(Map<K,V>) HashMap:键唯一,值任意,存储无序 LinkedHashMap:键唯一,值任意,存储有序 Hashtable:键与值可以为Null Properties:键与值都是String类型,一般与IO结合使用 2、集合中的方法: 2.1单列集合: 2.1.1 Collection接口 boolean add(Object e) 添加元素 int size() 获取集合的长度 void clear() 清空元素 boolean contains(Object o) 判断集合中是否包含指定的元素 boolean isEmpty() 判断集合是否为空 boolean remove(Object o) 删除指定的元素 Object[] toArray() 将集合转换成Object类型的数组 <T> T[] toArray(T[] a) 将集合转换成指定类型的数组 Iterator iterator() 获取迭代器对象 2.1.1.1List接口 void add(int index, Eelement) 在指定位置上添加指定的元素 E get(int index) 获取指定位置的元素 E remove(int index) 删除指定位置的元素 E set(int index, E element) 修改指定位置的元素 ListIterator<E> listIterator()获取列表迭代器(解决并发修改异常) 2.1.1.1.1 ArrayList实现类的方法参考List接口方法 2.1.1.1.2 LinkedList实现类 void addFirst(E e) 在最前面添加元素 void addLast(E e) 在最后面添加元素 E getFirst() 获取第一个元素 E getLast() 获取最后一个元素 E removeFirst() 删除第一个元素 E removeLast() 删除最后一个元素 2.1.2 Set接口、HashSet 实现类、LinkedHashSet实现类的方法使用参考Collection接口方法即可。 2.2双列集合: 2.2.1 Map常用功能 V put(K key, V value) :以键=值的方式存入Map集合 V get(Object key):根据键获取值 int size():返回Map中键值对的个数 booleancontainsKey(Object key):判断Map集合中是否包含键为key的键值对 boolean containsValue(Object value):判断Map集合中是否包含值为value键值对 boolean isEmpty():判断Map集合中是否没有任何键值对 void clear():清空Map集合中所有的键值对 Vremove(Object key):根据键值删除Map中键值对 Set<Map.Entry<K,V>> entrySet():将每个键值对封装到一个个Entry对象中,再把所有Entry的对象封装到Set集合中返回 Set<K>keySet() :将Map中所有的键装到Set集合中返回 Collection<V>values():返回集合中所有的value的值的集合 2.2.1.1 HashMap、LinkedHashMap参考Map接口即可 2.2.2Hashtable的实现类Properties 与IO流结合的特有方法(对配置文件的读与写): void list(PrintStream out) 将属性列表输出到指定的输出流(不常用)。 void list(PrintWriter out) 将属性列表输出到指定的输出流(不常用)。 void load(InputStreaminStream) 从输入流中读取属性列表。 void load(Reader reader)从输入字符流中读取属性列表 void store(OutputStream out, String comments)将此 Properties表中的属性列表写入输出流。 void store(Writer writer, String comments)将此 Properties表中的属性列表写入输出字符。 ObjectsetProperty(String key, String value) 调用 Hashtable 的方法 put。 String getProperty(Stringkey) 用指定的键在此属性列表中搜索属性。 Set<String>stringPropertyNames() 返回此属性列表中的键集 3.集合的遍历 3.1单列集合: List:转数组,普通for ,增强for,迭代器 Set: 转数组,增强for,迭代器 3.2 双列集合:一、获取所有的key,通过key来获取value Set<String> keys = hm.keySet(); for (Stringkey : keys) { Stringvalue = hm.get(key); System.out.println(key+ "=" + value); } 二、获取所有的结婚证对象,然后通过结婚证对象获取丈夫和媳妇 Set<Map.Entry<String,String>> entrys = hm.entrySet(); for (Map.Entry<String,String> entry : entrys) { String key = entry.getKey(); String value = entry.getValue(); System.out.println(key +"=" + value); }
|