现在的位置: 首页 > 综合 > 正文

Java LinkedList类和Vector类

2018年06月05日 ⁄ 综合 ⁄ 共 2685字 ⁄ 字号 评论关闭

LinkedList类

1.LinkedList类用于创建链表数据结构。

2.链表中元素的数量不受任何限制,可以随意的添加和删除。

3.与ArrayList相比,如果需要频繁的添加和删除元素,LinkedList的性能更加优越。

4.LinkedList类继承了AbstractSequentialList类,并实现了List接口。

LinkedList类常用方法:

//返回链表的大小,即元素的数量
int size()
//判断链表是否为空,为空返回true,否则返回false
boolean isEmpty()
//清空链表中的所有元素,使其成为空链表
void clear()
//向链表中添加一个元素,该元素,该元素可以是任何类的对象
boolean add(Object element)
//从链表中删除指定索引位置的元素
Object remove(int index)
//返回指定索引位置的元素
Object get(int index)
//将元素elem存储到由index指定的索引位置上
Object set(int index, Object elem)
//判断element在链表中是否存在,存在返回对应的索引,否则返回-1
int indexOf(Object element)
//将指定元素添加到链表的开始处
void addFirst(Object element)
//将指定元素添加到链表的结尾处
void addLast(Object element)
//删除链表中的第一个元素
Object removeFirst()
//删除链表中的最后一个元素
Object removeLast()
//返回链表中的第一个元素
Object getFirst()
//返回链表中的最后一个元素
Object getLast()

测试案例:

public class LinkedListTest {

	public static void main(String[] args) {
		//创建一个空的链表
		List<Double> linkedList = new LinkedList<Double>();
		
		//循环添加
		for (int i=1; i<=10; i++){
			
			//创建一个Double类型的对象
			Double temp = new Double(Math.sqrt(i));
			//把这个对象添加到链表集合中
			linkedList.add(temp);
		}
		
		//打印链表集合中的元素
		for (int i=0; i<linkedList.size(); i++){
			
			System.out.println(linkedList.get(i));
		}
		
		//删除第一个元素
		((LinkedList<Double>) linkedList).removeFirst();
		//删除最后一个元素
		((LinkedList<Double>) linkedList).removeLast();
		
		//删除首尾元素之后再次打印元素
		System.out.println("删除首尾元素之后的链表集合:");
		for (int i=0; i<linkedList.size(); i++){
			
			System.out.println(linkedList.get(i));
		}
	}
}

Vector类

1.Vector类与ArrayList类和LinkedList很相似,最大的区别在于Vector是线程同步的。

2.如果在多线程的程序中要使用到集合框架,并且不希望线程与线程之间互相干扰,那么Vector是不错的选择。

3.Vector类继承于AbstractList类,并实现了List接口。

Vector常用的方法:

//返回Vector对象的大小,即元素的数量
int size()
//判断Vector对象是否为空,为空返回true,否则返回false
boolean isEmpty()
//清空Vector对象中的所有元素
void clear()
//向Vector对象中添加一个元素,该元素可以是任何类的对象
boolean add(Object element)
//从Vector中删除指定索引位置的元素
Object remove(int index)
//返回指定索引位置的元素
Object get(int index)
//将元素elem存放到由index知道你个的索引位置上
Object set(int index, Object elem)
//判断element在Vector对象中是否存在,存在返回对应的索引,否则返回-1
int indexOf(Object element)
//返回Vector对象的容量,既可以存放元素的个数
int capacity()
//将指定元素插入到Vector对象的末尾处
void addElement(Object element)
//将指定元素插入到指定索引位置
void insertElementAt(Object elem, int index)
//将指定对象替换位于指定索引处的对象
void setElementAt(Object elem, int index)
//检索位于指定索引处的元素
Object ElementAt(int index)
//如果Vector对象包含指定元素,返回true
boolean contains(Object elem)
//返回Vector对象中的第一个元素
Object firstElement()
//返回Vector对象中的最后一个元素
Object lastElement()
//删除Vector对象中的所有元素
void removeAllElements()
//将Vector对象中的元素复制到指定数组中
void copyInto(Object[] anArray)
//根据newSize的值设置Vector对象的容器
void setSize(int newSize)

测试案例:

public class VectorTest {

	public static void main(String[] args) {
		
		//创建一个Vector
		Vector<String> vector = new Vector<String>();
		//往Vector容器中添加元素
		vector.addElement("JAVA");
		vector.addElement("MYSQL");
		vector.addElement("Oracle");
		vector.addElement("C#");
		
		//删除一个元素
		vector.removeElement("C#");
		
		//打印
		for (int i=0; i<vector.size(); i++){
			System.out.println(vector.get(i));
		}
	}
}

抱歉!评论已关闭.