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());
		}
	}

}

输出:

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


发布了242 篇原创文章 · 获赞 48 · 访问量 11万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览