`
colin1210
  • 浏览: 30688 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论
阅读更多
当需要动态的减少或增加数据项时,可以使用链表这种数据结构。
链表是由若干称为结点的对象组成的一种数据结构,每个结点含有一个数据和下一个结点的引用(单链表),或者含有一个数据并含有上一个结点的引用和下一个结点的引用(双链表)。
使用java.util包中的LinkedList类创建一个链表,然后使用add()方法向这个链表中依次增加结点。
存放在结点中的数据都被看做是一个Object对象。当使用get()方法获得一个结点对象后,要使用类型转换运算符转换回原来的数据类型。使用泛型可以不用进行类型转换。
遍历链表用Iterator类效率比较高。

import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

public class ListTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		ListTest test = new ListTest();
		List<String> mylist = new LinkedList<String>();//无需指定数组大小,可以动态定义,此处用了泛型。
		mylist.add("I");
		mylist.add("Love");
		mylist.add("Dannie");
		System.out.println("链表的长度即结点的个数为:" + mylist.size());
		System.out.println("I 的位置为:" + mylist.indexOf("I"));
		System.out.println("Love 的位置为:" + mylist.indexOf("Love"));
		System.out.println("love 的位置为:" + mylist.indexOf("love"));
		test.printList(mylist);
		mylist.clear();
		System.out.println();
		System.out.println("List has cleared!");
		test.printList(mylist);

	}

	public void printList(List<String> list) {
		Iterator<String> it = list.iterator();
		while (it.hasNext()) {
			System.out.print(it.next() + " ");

		}
	}

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics