List 집합 하위 클래스 ArrayList, LinkedList, Vector
5388 단어 vectorLinkedList리스트 집합
-- 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*/
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Vector & Matrix스칼라 : 하나의 숫자로만 이루어진 데이터 (크기만 있고 방향이 없는 물리량) 벡터 : 여러 숫자로 이루어진 데이터 레코드. 매트릭스 : 벡터가 여럿인 데이터집합 벡터의 크기는 스칼라배를 통해 표현할 수 있다. *내...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.