List 집합 하위 클래스 ArrayList, LinkedList, Vector

List: 순서 가 있 고 색인 이 있 으 며 중복 이 가능 합 니 다.
-- Array List: 바 텀 데이터 구 조 는 배열 구조 입 니 다. 스 레 드 가 동기 화 되 지 않 습 니 다 (안전 하지 않 습 니 다). 조회 속 도 는 빠 르 지만 삭제 가 느 립 니 다.
             초기 용량 이 10 인 빈 목록 을 만 들 고 10 개의 요 소 를 가득 채 우 면 50% 의 길이 로 집합 용기 의 길 이 를 늘 립 니 다.
    List 인터페이스의 크기 가 변 배열 의 실현, 즉 용량 크기 를 직접 지정 할 수 있 습 니 다.
-- LinkedList: 바 텀 데이터 구 조 는 링크 구조 입 니 다.원소 의 첨삭 속도 가 매우 빠르다.하지만 조회 속도 가 느리다.스 레 드 는 동기 화 되 지 않 습 니 다.
| - Vector: 바 텀 데이터 구조 도 배열 구조 로 스 레 드 동기 화 (안전) 이 고 효율 이 낮 으 며 Array List 로 대체 되 었 습 니 다.1.2 버 전 이후 의 집합 은 모두 일치 하지 않 는 다.
10 개의 원 소 를 가득 넣 은 후 100% 길이 로 집합 용기 의 길 이 를 늘 립 니 다.
 
1. 먼저 LinkedList 를 봅 시다. (ArrayList 는 소개 하지 않 습 니 다.)
package cn.java.collection.list;

import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedList;

public class LinkedListDemo {
	/*
	LinkedList       JDK1.6      。

	addFirst();
	addLast();
	JDK1.6:
	offerFirst();
	offerLast();

	getFirst();         ,      。NoSuchElementException
	getLast();
	JDK1.6:
	peekFirst();         ,   null。
	peekLast();

	removeFirst();         ,      。NoSuchElementException
	removeLast();
	JDK1.6:
	pollFirst();         ,   null。
	pollLast();
	*/

		public static void sop(Object obj)
		{
			System.out.println(obj);
		}
		public static void main(String[] args) 
		{
			LinkedList<String> link = new LinkedList<String>();
			
//			System.out.println("heihei……"+link.getFirst());//         ,      。NoSuchElementException
			System.out.println("heihei……"+link.peekFirst());//jdk1.6     ,         ,  null
//			System.out.println("heihei……"+link.removeLast());//         ,      。NoSuchElementException
			System.out.println("heihei……"+link.pollLast());//jdk1.6     ,         ,  null
			
			//       。  .
			link.addFirst("abc1");
			link.addFirst("abc2");
			link.addFirst("abc3");
			link.addFirst("abc4");
			//link.addLast("abc5");
			
			for(int x=0; x<link.size();x++)
			{
				System.out.println("get:"+link.get(x));
			}
			
		/*	for(int x=0; x<link.size();)
			{
				System.out.println("x="+x+"...size="+link.size());
				System.out.println(link.removeFirst());
			}*/
			printColl(link);//      Linkedlist           Collection,   Collection     ,        ,       collection     ,  ,  
			
			while(!link.isEmpty())
			{
				System.out.println("remove:"+link.removeFirst());
			}

			System.out.println("----------------------");
			link.add("weiba");
			link.clear();
			System.out.println(link);//           :[]
			
			
/*			sop("getFirst:"+link.getFirst());//    ,     。         ,      。NoSuchElementException
			sop("getLast:"+link.getLast());
			sop("get size="+link.size());
			sop("removeFirst:"+link.removeFirst());//    ,       ,     。         ,      。NoSuchElementException
			sop("removeLast:"+link.removeLast());
			sop("remove size="+link.size());*/

		}

		public static void printColl(Collection<String> coll)
		{
			Iterator<String> it = coll.iterator();

			while(it.hasNext())
			{
				//      coll.remove(it.next());    java.util.ConcurrentModificationException
				System.out.println("haha"+it.next());
			}
		
		}
	}




 위의 클래스 에서 main 방법 실행 결 과 는 다음 과 같 습 니 다.
heihei……null
heihei……null
get:abc4
get:abc3
get:abc2
get:abc1
hahaabc4
hahaabc3
hahaabc2
hahaabc1
remove:abc4
remove:abc3
remove:abc2
remove:abc1
----------------------
[]
 
 
2. vector 집합
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Vector;
/*
	 Enumeration         Iterator          
	Iterator Enumeration    ,
	  :Enumeration         。      。
*/
public class VectorDemoAndEnumeration {
	public static void main(String[] args) {
			
		Vector v = new Vector();
		v.addElement("abc1");
		v.addElement("abc2");
		v.addElement("abc3");
		v.addElement("abc4");
		
		for (int i = 0; i < v.size(); i++) {
			System.out.println("      :"+v.get(i));
		}
		
		//       
		Enumeration en = v.elements();
		while(en.hasMoreElements()){
			System.out.println(en.nextElement());
		}
		
		System.out.println("----------------");
		//       
		Iterator it = v.iterator();
		while(it.hasNext()){
			System.out.println(it.next());
		}
	}
}
       :

/*	      :abc1
	      :abc2
	      :abc3
	      :abc4
	abc1
	abc2
	abc3
	abc4
	----------------
	abc1
	abc2
	abc3
	abc4*/

 
 
 

좋은 웹페이지 즐겨찾기