Java List接口

---恢复内容开始---

List接口
它是一个元素存取有序的集合。
它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素。
集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复的元素。
常用子类有:
ArrayList集合和LinkedList集合

常用方法
例子

public static void main(String[] args) {
		List<String>list = new ArrayList<String>();
		list.add("111");
		list.add("222");
		Iterator<String>it =list.iterator();
		while(it.hasNext()) {
			System.out.println(it.next());
		}
	}

   

Iterator的并发修改异常
例子

public static void main(String[] args) {
		List<String>list = new ArrayList<String>();
		list.add("111");
		list.add("222");
		Iterator<String>it =list.iterator();
		while(it.hasNext()) {
			if(it.next().equals("222")) {
				list.add("333");
			}
		}
	}

  


原因
在迭代过程中,使用了集合的方法对元素进行操作。导致迭代器并不知道集合中的变化,容易引发数据的不确定性。

List集合数据存储的常用结构

堆栈  特点  先进后出

队列  特点  先进先出

数组  特点  查找快,增删慢

链表  特点  增删快,查找慢

ArrayList是数组结构,LinkedList是链表结构

public static void main(String[] args) {
		LinkedList<String>list = new LinkedList<>();
		list.addLast("d");
		list.addFirst("c");
		list.addFirst("b");
		list.addFirst("a");
		for(String s:list) {
			System.out.print(s);
		}
		System.out.println();
		System.out.println(list.isEmpty());
		System.out.println(list.pop());
		list.clear();//清空集合
		System.out.println(list.isEmpty());
	}

  

原文地址:https://www.cnblogs.com/cgj1994/p/9763094.html