八、java集合类

与数组的区别:  

  数组的长度是固定的,集合的长度是可变的。数组用来存放基本类型的数据,集合用来存放对象的引用。

1、集合类接口的常用方法

  COllection接口是层次结构中的根接口,该接口提供了添加和删除元素、管理数据的方法。

(1)List接口

  add()、addAll()、remove()、get()、indexOf()、lastINdexOf()、subList()、set()、listIterator()

(2)Set接口

  add()、addAll()、remove()、retainAll()、removeAll()、clear()、iterator()、size()、isEmpty()

(3)Map接口(键值对)

  一个映射不能包含重复的键,每个键最多只能映射到一个值。

  put()、containskey()、containsValue()、get()、keySet()、values()

2、集合接口的实现类

(1)List接口

1)ArrayList类

  可变的数组,允许所有元素,包括null。

  优点:快速访问元素。 

  缺点:插入、修改和删除对象较慢。

  语法:List<String> list = new ArrayList<String>;

2)LinkedList类

  链表结构保存对象。

  优点:插入和删除较快。

  缺点:随机访问较慢。

  语法:List<String> list = new LinkedList<String>();

(2)Set接口

1)HashSet(无序的)

  语法:Set<String> collSet = new HashSet<String>();

2)TreeSet

  语法:Set<String>  collSet2 = new TreeSet<String>();

(3)Map接口

1)HashMap类

  基于哈希表的Map接口的实现,允许使用null。

  优点:插入、删除效率高

  缺点:无序

2)TreeMap类

  不允许键对象是null

  优点:有序

  缺点:插入删除效率低

3、迭代器Iterator

  方法:hasNext()、next()、remove()

  for(Iterator<Integer> it = list.iterator();it.hasNext()){...}

 

原文地址:https://www.cnblogs.com/yl-saber/p/6001041.html