java集合类

  • 集合类:集合类也称为容器,固然数组也是容器,可是集合类和数组的最大区别是数组长度是固定的,并且数据类型是统一的;而集合类是用来存储对象的引用,没有长度的限制,常见的集合类包括Map、Set和List
  • 基本的集合类是Collection和Map,Collection是List和Set的父类
  • Collection常见的方法:add、remove、isEmpty、iterator、size
  • list的使用:list主要包括ArrayList和LinkList,LinkList采用链表的形式进行数据存储,在增删的工做上效率高,查询效率较低
public class ListDemo 
    public static void main(String[] args){
        ArrayList<Integer> list = new ArrayList<Integer>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        Iterator iterator = list.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next().toString());
        }
    }
}
  • List提供get和set进行取值的增长值,不支持下标取值
  • Set的使用:Set中的元素不能重复,特别注意可变的参数;Set包括HashMap和TreeSet,HashSet不能保证迭代的顺序,容许使用null元素;
  • TreeSet:实现了SortedSet接口,所以能够实现数据的天然排序,也能够经过指定比较器递增排序。
TreeSet经常使用的方法:
first()   // set中的第一个元素
last()   // set中的最后一个元素
comparator()   // 返回set排序的排序器
headSet(E toElement)    // 返回新集合,新集合的元素为element前面的数据
subSet(E formElement, E toElement)
tailSet(E fromElement)
  • Map:key-value的存储格式,Map中的key不能重复
// Map中的经常使用方法
put(K key, V value)  // 存储
containsKey(K key)   // 是否存在指定的key
containsValue(K key)  // 是否存在指定的value
get(K key)    // 经过key获取value
keySet()      // 获取key的Set
values()     // 获取value的Collection
  • Map的种类包括HashMap和TreeMap,TreeMap会按照必定规则对数据进行排序,TreeMap中不容许null,而HashMap容许null;另外从增删的角度HashMap的效率更高,因此通常使用HashMap