码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础学习(六)—List

时间:2016-07-02 15:58:01      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

一、List

1.List集合特有功能

/*
 * List集合的特有功能:
 * A:添加功能
 * 		void add(int index,Object element):在指定位置添加元素
 * B:获取功能
 * 		Object get(int index):获取指定位置的元素
 * C:列表迭代器
 * 		ListIterator listIterator():List集合特有的迭代器
 * D:删除功能
 * 		Object remove(int index):根据索引删除元素,返回被删除的元素
 * E:修改功能
 * 		Object set(int index,Object element):根据索引修改元素,返回被修饰的元素
 */

测试类

	@Test
	public void testList(){
	
		List list = new ArrayList();
		list.add("AAA");
		list.add("BBB");
		list.add("CCC");
		list.add("DDD");
		System.out.println(list);
		
		//1.在指定索引位置添加元素
		list.add(1,"QQQ");
		System.out.println(list);
		
		//2.获取指定索引位置的元素
		String str = (String)list.get(1);
		System.out.println("索引为1的元素: " + str);
		
		//3.移除指定索引位置的元素
		list.remove(1);
		System.out.println(list);
		
		//4.修改指定索引位置的元素
		list.set(0,"KKK");
		System.out.println(list);
		
		//5.列表迭代器
		ListIterator it = list.listIterator();
		while(it.hasNext()){
			String s = (String)it.next();
			System.out.print(s + " ");
		}
		
		System.out.println("");
		
		//可以逆向遍历,但是必须先正向遍历,没意义
		while(it.hasPrevious()){
			String s = (String)it.previous();
			System.out.print(s + " ");
		}
		
	}

结果:

      [AAA, BBB, CCC, DDD]
      [AAA, QQQ, BBB, CCC, DDD]
      索引为1的元素: QQQ
      [AAA, BBB, CCC, DDD]
      [KKK, BBB, CCC, DDD]
      KKK BBB CCC DDD
      DDD CCC BBB KKK

 

2.List子类的特点

ArrayList

     底层数据结构是数组查询快,增删慢

     线程不安全,效率高。

Vector

     底层数据结构是数组查询快,增删慢

     线程安全,效率低。

LinkedList

     底层数据结构是链表查询慢,增删快

      线程不安全,效率高。

 

二、ArrayList

1.ArrayList简介

    ArrayList是一个动态数组,它的容量能动态的增长。

    它继承于AbstractList,实现了List、RandomAccess、Cloneable、Serializable这些接口。

(1)ArrayList继承于AbstractList,实现了List。它是一个数组队列,提供了相关的添加、删除、修改、遍历功能。

(2)ArrayList实现了RandomAccess接口,及提供了随机访问功能。在ArrayList中,我们可以通过元素的序列号快速获取元素对象,这就是快速随机访问。

(3)ArrayList实现了Cloneable接口,即覆盖了函数clone(),能被克隆。

(4)ArrayList实现了Serializable接口,意味着ArrayList支持序列化,能够通过序列化去传输。

 

2.构造函数

Java基础学习(六)—List

标签:

原文地址:http://www.cnblogs.com/yangang2013/p/5635367.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!