Java 允许重复的子接口——List

一.ArrayList类

数组结构、查询快、修改慢

1.构造方法

ArrayList()
构造一个初始容量为十的空列表。
ArrayList(Collection<? extends E> c)
构造一个包含指定集合的元素的列表,按照它们由集合的迭代器返回的顺序。
ArrayList(int initialCapacity)
构造具有指定初始容量的空列表。
2.使用范例1

import java.util.*;
public class EX20_1 {

	public static void main(String[] args) {
		ArrayList<String> list=new ArrayList<String>();
		list.add("one");
		list.add("two");
		list.add("three");
		list.add("four");
		
		Iterator<String> i=list.iterator();
		while(i.hasNext())
		{
			System.out.println(i.next());
		}
	}

}
输出:

one
two
three
four

3.使用范例2(ArrayListToArray)

import java.util.*;

public class ArrayListToArray
{
	public static void main( String args[] )
	{
		// 创建一ArrayList对象al
		ArrayList<Integer> al = new ArrayList<Integer>();
		// 向ArrayList中加入对象
		al.add( new Integer( 1 ) );
		al.add( new Integer( 2 ) );
		al.add( new Integer( 3 ) );
		al.add( new Integer( 4 ) );
		System.out.println( "ArrayList 中的内容 : " + al );
		// 得到对象数组
		Object ia[] = al.toArray();
		int sum = 0;
		// 计算数组内容
		for( int i = 0; i < ia.length; i++ )
		{
			sum += ( (Integer) ia[i] ).intValue();
		}
		System.out.println( "数组累加结果是: " + sum );
	}
}
二、LinkedList类

链式结构、查询慢、修改快

1.构造方法

LinkedList()
构造一个空列表。
LinkedList(Collection<? extends E> c)
构造一个包含指定集合的元素的列表,按照它们由集合的迭代器返回的顺序。
2.使用范例

import java.util.*;

public class LinkedListDemo
{
	public static void main( String args[] )
	{
		// 创建LinkedList对象
		LinkedList<String> LL = new LinkedList<String>();
		// 加入元素到LinkedList中
		LL.add( "F" );
		LL.add( "F" );
		LL.add( "D" );
		LL.add( "E" );
		LL.add( "C" );
		// 在链表的最后一个位置加上数据
		LL.addLast( "Z" );
		// 在链表的第一个位置上加入数据
		LL.addFirst( "A" );
		// 在链表第二个元素的位置上加入数据
		LL.add( 1, "A2" );
		System.out.println( "LL 最初的内容:" + LL );
		// 从linkedlist中移除元素
		LL.remove( "F" );
		System.out.println( "删除元素F后的LL 内容:" + LL );
		LL.remove( 2 );
		System.out.println( "从LL中移除第二个元素后的内容之后:" + LL );
		// 移除第一个和最后一个元素
		LL.removeFirst();
		LL.removeLast();
		System.out.println( "LL 移除第一个和最后一个元素之后的内容:" + LL );
		// 取得并设置值
		Object val = LL.get( 2 );
		LL.set( 2, (String) val + " Changed" );
		System.out.println( "LL 被改变之后:" + LL );
	}
}


三、旧的子类——Vector

Vector实现动态数组,这与ArrayList类似,但两者不同的是:Vector是同步的,并且它包含了许多不属于类集框架的从以前版本遗留下来的方法。现在与类集是完全兼容的。

1.构造方法

Vector()
构造一个空向量,使其内部数据数组的大小为 10 ,标准容量增量为零。
Vector(Collection<? extends E> c)
构造一个包含指定集合元素的向量,按照集合的迭代器返回的顺序。
Vector(int initialCapacity)
构造具有指定初始容量并且其容量增量等于零的空向量。
Vector(int initialCapacity, int capacityIncrement)
构造具有指定的初始容量和容量增量的空向量。 
2.使用范例

import java.util.Enumeration;
import java.util.Vector;

public class VectorDemo {

	public static void main(String[] args) {
		Vector<String> v=new Vector<String> ();
		v.add("张昊雨");
		v.add("郑道翔");
		v.add("安晨阳");
		v.add("秦鸿俊");
		System.out.println(v);
		Enumeration<String> e=v.elements();
		while(e.hasMoreElements())
		{
			System.out.println(e.nextElement());
		}
	}

}

输出:

[张昊雨, 郑道翔, 安晨阳, 秦鸿俊]
张昊雨
郑道翔
安晨阳
秦鸿俊


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水之积也不厚,则其负大舟也无力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值