首页 > 代码库 > java集合框架--ArrayList类、Vector和LinkedList类

java集合框架--ArrayList类、Vector和LinkedList类

1.ArrayList类概述

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

  线程不安全,效率高。


2.ArrayList案例

2.1存储字符串并遍历

package com;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;

public class ArrayListDemo {
	public static void main(String[] args) {
		//创建ArrayList对象
		ArrayList<String> list = new ArrayList<String>();
		
		//添加元素
		list.add("哈哈");
		list.add("呵呵");
		list.add("嘻嘻");
		list.add("笨笨");
		
		//遍历方式一 将ArrayList集合装换为Object[]
		Object[] obj = list.toArray();
		for (int i = 0; i < obj.length; i++) {
			String str = (String) obj[i];
			System.out.println(str);
		}
		
		System.out.println("----------------------");
		
		//遍历方式二 使用Iterator迭代器
		for(Iterator<String> iterator = list.iterator();iterator.hasNext();){
			String str = iterator.next();
			System.out.println(str);
		}
		
		System.out.println("-----------------------");
		
		//遍历方式三 使用ListIterator迭代器
		//顺向遍历
		ListIterator<String> listIterator = list.listIterator();
		while(listIterator.hasNext()){
			String str = listIterator.next();
			System.out.println(str);
		}
		
		System.out.println("------------------------");
		
		//逆向遍历
		while(listIterator.hasPrevious()){
			String str = listIterator.previous();
			System.out.println(str);
		}
		
		System.out.println("------------------------");
		
		//遍历方式四 使用size()和get(int index)方法来实现遍历集合元素
		for (int i = 0; i < list.size(); i++) {
			String str = list.get(i);
			System.out.println(str);
		}
		
	}

}

2.2存储自定义对象并遍历

省略


3.Vector类

package com;

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

/**
 * Vector类特有功能
 * 		1.添加功能
 * 			public void addElement(E e)
 *      2.获取功能
 *          public E elementAt(int index)
 *      	public Enumeration elements() 
 *
 */
public class VectorDemo {
	public static void main(String[] args) {
		//创建集合对象
		Vector<String> v = new Vector<String>();
		
		//添加元素
		v.addElement("hello");
		v.addElement("world");
		v.addElement("java");
		
		//遍历
		for (int i = 0; i < v.size(); i++) {
			String str = v.elementAt(i);
			System.out.println(str);
		}
		
		System.out.println("------------------");
		
		for (Enumeration<String> enumeration = v.elements(); enumeration.hasMoreElements(); ) {
			String str = enumeration.nextElement();
			System.out.println(str);
		}
	}
}

hello

world

java

------------------

hello

world

java


4.LinkedList类概述

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

  线程不安全,效率高。


5.LinkedList的特有功能

package com;

import java.util.LinkedList;

/**
 * linkedList的特有功能
 * 		添加功能
 *      	public void addFirst(E e )
 *      	public void addLast(E e)
 *      获取功能
 *      	public E getFirst()
 *      	public E getLast()
 *      删除功能
 *      	public E removeFirst()
 *      	public E removeLast() 
 */
public class LinkedListDemo {
	public static void main(String[] args) {
		//创建集合对象
		LinkedList<String> list = new LinkedList<String>();
		
		//添加元素
		list.add("hello");
		list.add("world");
		list.add("java");
		
		System.out.println(list);//[hello, world, java]
		list.addFirst("javaee");
		System.out.println(list);//[javaee, hello, world, java]
		list.addLast("android");
		System.out.println(list);//[javaee, hello, world, java, android]
		
		System.out.println(list.getFirst());//javaee
		System.out.println(list.getLast());//android
		
		System.out.println(list.removeFirst());//javaee
		System.out.println(list);//[hello, world, java, android]
		
		System.out.println(list.removeLast());//android
		System.out.println(list);//[hello, world, java]
	}

}


困了 休息会








本文出自 “11831428” 博客,请务必保留此出处http://11841428.blog.51cto.com/11831428/1862222

java集合框架--ArrayList类、Vector和LinkedList类