자바 list 용법 예시 상세 설명
12275 단어 list 용법
|-- Array List:바 텀 데이터 구 조 는 배열 구조(배열 길 이 는 가 변 적 인 50%연장)를 사용 합 니 다.
|-- 링크 드 리스트:바 텀 데이터 구 조 는 링크 구조(조회 가 느 리 고 삭제 가 빠 른 것 이 특징)
|-- Vector:바 텀 은 배열 데이터 구조 스 레 드 동기 화(배열 길 이 는 가 변 적 인 100%연장)(조회 든 삭제 든 느 려 서 Array List 로 대체 되 었 습 니 다)
List:특유 의 방법,각 표를 조작 할 수 있 는 방법 은 모두 이 시스템 특유 의 방법 이다.
늘다
boolean add(int index, E element)
boolean addAll(index,Collection)
public static void List_add(){
ArrayList a1 = new ArrayList();
a1.add("java");
a1.add("php");//List
a1.add(".net");
System.out.println(" :"+a1);
a1.add(1, "Flash");
a1.add(0, "ps");
System.out.println(a1);
ArrayList a2 = new ArrayList();
a2.add("javascript");
a2.add("3dMax");
a2.add("IBM");
a1.addAll(0, a2);
System.out.println(a1);
}
지정 한 위치의 요소 삭제
boolean remove(int index)
public static void List_remove(){
ArrayList a1 = new ArrayList();
a1.add("javascript");
a1.add("php");
a1.add("flash");
System.out.println(" :"+a1);
a1.remove(0);
System.out.println(a1);
}
지정 한 커서 의 요 소 를 수정 합 니 다. set(int index, E element) 수 정 된 요 소 를 되 돌려 줍 니 다.
public static void List_set() {
ArrayList a1 = new ArrayList();
a1.add("javascript");
a1.add("php");
a1.add(".net");
System.out.println(" :"+a1);
a1.set(1, "falsh");
System.out.println(a1);
}
조사 하 다.get(int index) 목록 에서 지정 한 위치의 요 소 를 되 돌려 줍 니 다.
subList(int fromIndex, int toIndex) 목록 에서 지정 한 from Index(포함)와 toIndex(포함 되 지 않 음)사이 의 일부 요 소 를 되 돌려 줍 니 다.
public static void List_get() {
ArrayList a1 = new ArrayList();
a1.add("java");
a1.add("php");
a1.add("flash");
System.out.println(a1.get(0));// ,
System.out.println(a1.subList(1, 3));// ,
}
List 집합 특유 의 교체 기:ListIterator(Iterator 의 하위 인터페이스)주의:
교체 할 때 집합 대상 의 방법 을 통 해 집합 중의 요 소 를 조작 할 수 없다.
Concurrent ModificationException 이상 이 발생 하기 때 문 입 니 다.
그래서 교체 기 에 서 는 교체 기 방법 으로 요 소 를 만 들 수 밖 에 없다.
Iterator 방법 이 제한 되 어 있 기 때문에 요 소 를 판단 하고 꺼 내 고 삭제 하 는 작업 만 할 수 있 습 니 다.
추가,수정 등 다른 작업 을 하려 면 하위 인터페이스,ListIterator 를 사용 해 야 합 니 다.
이 인 터 페 이 스 는 List 집합 listIterator 방법 으로 만 얻 을 수 있 습 니 다.
public class ListIteratorDemo {
public static void main(String[] args) {
ArrayList a1 = new ArrayList();
a1.add("java01");
a1.add("java02");
a1.add("java03");
a1.add("java04");
System.out.println(" :"+a1);
/*
Iterator it = al.iterator();
while (it.hasNext()){
Object obj = it.next();
if (obj.equals("java02"))
//al.add("java008");// , ,
it.remove();// java02
System.out.println("obj:"+obj);
}
*/
// List listIterator , , , , List
ListIterator li = a1.listIterator();
while (li.hasNext()){
if(li.next().equals("java02"))
//li.add("java009");
li.set("java006");
}
}
}
Vector:매 거 진 것 은 Vector 특유 의 추출 방식 입 니 다.교체 기 와 비슷 합 니 다.
public class VectorDemo {
public static void main(String[] args) {
Vector v = new Vector();
v.add("java01");
v.add("java02");
v.add("java03");
v.add("java04");
for(Enumeration en = v.elements();en.hasMoreElements();){
System.out.println(en.nextElement());
}
}
}
LinkedList:특유 의 방법:
addFirst();머리 에 요소 추가 addLast();끝부분 에 원 소 를 첨가 하 다
getFirst(); getLast(); 원 소 를 가 져 오지 만 원 소 를 삭제 하지 않 습 니 다.집합 에 원소 가 없 으 면 NoSuchElement Exception 이 나타 납 니 다.
removeFirst(); removeLast(); 원 소 를 가 져 오 되 원 소 를 삭제 합 니 다.집합 에 원소 가 없 으 면 NoSuchElement Exception 이 나타 납 니 다.
JDK 1.6 에서 대체 방법 이 나 왔 습 니 다.
offerFirst(); offerLast();
peekFirst(); peekLast(); 원 소 를 가 져 오지 만 원 소 는 삭제 되 지 않 습 니 다.집합 에 요소 가 없 으 면 null 로 돌아 갑 니 다.
pollFirst(); pollLast(); 요 소 를 가 져 왔 지만 요소 가 삭제 되 었 습 니 다.집합 에 요소 가 없 으 면 null 로 돌아 갑 니 다.
public class LinkedListDemo {
public static void main(String[] args) {
LinkedList link = new LinkedList();
link.add("java01");
link.add("java02");
link.add("java03");
link.add("java04");
while(!link.isEmpty()){
System.out.println((link.removeLast()));
}
}
}
다음은List 사용법
List 는 List 인터페이스 와 List 인터페이스의 모든 실현 클래스 를 포함한다.List 인 터 페 이 스 는 Collection 인 터 페 이 스 를 실현 하기 때문에 List 인 터 페 이 스 는 Collection 인터페이스 가 제공 하 는 모든 상용 방법 을 가지 고 있 으 며 List 는 목록 유형 이기 때문에 List 인 터 페 이 스 는 자신 에 게 적합 한 상용 방법 도 제공 했다.표 1 과 같다.
표 1 List 인터페이스 정의 상용 방법 및 기능
표 1 에서 알 수 있 듯 이 List 인터페이스 가 제공 하 는 자신 에 게 적합 한 상용 방법 은 모두 색인 과 관련 이 있다.이것 은 List 집합 을 목록 유형 으로 하고 선형 방식 으로 대상 을 저장 하 며 대상 의 색인 작업 대상 을 통과 할 수 있 기 때문이다.
List 인터페이스의 상용 실현 클래스 는 Array List 와 LinkedList 가 있 습 니 다.List 집합 을 사용 할 때 일반적인 상황 에서 List 유형 으로 설명 하고 실례 화 할 때 실제 상황 의 수요 에 따라 Array List 또는 LinkedList 로 예화 합 니 다.예 를 들 어:
List
List
1.add(int index,Object obj)방법 과 set(int index,Object obj)방법의 차이
List 집합 을 사용 할 때 add(int index,Object obj)방법 과 set(int index,Object obj)방법 을 구분 해 야 합 니 다.전 자 는 지정 한 색인 위치 에 대상 을 추가 하고 후 자 는 지정 한 색인 위 치 를 수정 하 는 대상 입 니 다.예 를 들 어 아래 코드 를 실행 합 니 다.
src/com/mwq/TestCollection.java 키 코드:
public static void main(String[] args) {
String a = "A", b = "B", c = "C", d = "D", e = "E";
List<String> list = new LinkedList<String>();
list.add(a);
list.add(e);
list.add(d);
list.set(1, b);// 1 e b
list.add(2, c);// c 2
Iterator<String> it = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}
콘 솔 에서 다음 과 같은 정 보 를 출력 합 니 다:A
B
C
D
List 집합 은 색인 위 치 를 통 해 대상 에 접근 할 수 있 기 때문에 for 순환 을 통 해 List 집합 을 옮 겨 다 닐 수 있 습 니 다.예 를 들 어 위의 코드 중의 List 집합 코드 는 다음 과 같 습 니 다.
src/com/mwq/TestCollection.java 키 코드:
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));// get(int index)방법 으로 지정 한 색인 위 치 를 얻 는 대상
}
src/com/mwq/TestCollection.java 전체 코드 는 다음 과 같 습 니 다.
package com.mwq;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Iterator;
import java.util.List;
public class TestCollection {
public static void main(String[] args) {
System.out.println(" :");
String a = "A", b = "B", c = "C", d = "D", e = "E";
List<String> list = new LinkedList<String>();
list.add(a);
list.add(e);
list.add(d);
list.set(1, b);// 1 e b
list.add(2, c);// c 2
Iterator<String> it = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
// for (int i = 0; i < list.size(); i++) {
// System.out.println(list.get(i));// get(int index)
// }
System.out.println(" !");
}
}
2.index Of(Object obj)방법 과 lastIndex Of(Object obj)방법의 차이List 집합 을 사용 할 때 index Of(Object obj)방법 과 lastIndex Of(Object obj)방법 을 주의해 야 합 니 다.전 자 는 지 정 된 대상 의 가장 작은 색인 위 치 를 얻 고 후 자 는 지 정 된 대상 의 가장 큰 색인 위 치 를 얻 습 니 다.전제조건 은 지 정 된 대상 이 List 집합 에서 중복 되 는 대상 이 있 는 것 입 니 다.그렇지 않 으 면 List 집합 에 지 정 된 대상 이 하나 밖 에 없 으 면이 두 가지 방법 을 통 해 얻 은 색인 위 치 는 같 습 니 다.예 를 들 어 아래 코드 를 실행 합 니 다.
src/com/mwq/TestCollection.java 키 코드:
public static void main(String[] args) {
String a = "A", b = "B", c = "C", d = "D", repeat = "Repeat";
List<String> list = new ArrayList<String>();
list.add(a); // 0
list.add(repeat); // 1
list.add(b); // 2
list.add(repeat); // 3
list.add(c); // 4
list.add(repeat); // 5
list.add(d); // 6
System.out.println(list.indexOf(repeat));
System.out.println(list.lastIndexOf(repeat));
System.out.println(list.indexOf(b));
System.out.println(list.lastIndexOf(b));
}
src/com/mwq/TestCollection.java :
package com.mwq;
import java.util.ArrayList;
import java.util.List;
public class TestCollection {
public static void main(String[] args) {
System.out.println(" :");
String a = "A", b = "B", c = "C", d = "D", repeat = "Repeat";
List<String> list = new ArrayList<String>();
list.add(a); // 0
list.add(repeat); // 1
list.add(b); // 2
list.add(repeat); // 3
list.add(c); // 4
list.add(repeat); // 5
list.add(d); // 6
System.out.println(list.indexOf(repeat));
System.out.println(list.lastIndexOf(repeat));
System.out.println(list.indexOf(b));
System.out.println(list.lastIndexOf(b));
System.out.println(" !");
}
}
콘 솔 에서 다음 과 같은 정 보 를 출력 합 니 다:1
5
2
2
3.subList(int from Index,int toIndex)방법
subList(int from Index,int toIndex)방법 으로 기 존 List 집합 중의 일부 대상 을 캡 처 하여 새로운 List 집합 을 생 성 할 때 주의해 야 할 것 은 새로 생 성 된 집합 에는 시작 색인 위치 대표 대상 이 포함 되 어 있 으 나 종료 색인 위치 대표 의 대상 은 포함 되 어 있 지 않 습 니 다.예 를 들 어 아래 코드 를 실행 하 는 것 입 니 다.
src/com/mwq/TestCollection.java 키 코드:
public static void main(String[] args) {
String a = "A", b = "B", c = "C", d = "D", e = "E";
List<String> list = new ArrayList<String>();
list.add(a); // 0
list.add(b); // 1
list.add(c); // 2
list.add(d); // 3
list.add(e); // 4
list = list.subList(1, 3);// 1 3 List
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
src/com/mwq/TestCollection.java :
package com.mwq;
import java.util.ArrayList;
import java.util.List;
public class TestCollection {
public static void main(String[] args) {
System.out.println(" :");
String a = "A", b = "B", c = "C", d = "D", e = "E";
List<String> list = new ArrayList<String>();
list.add(a); // 0
list.add(b); // 1
list.add(c); // 2
list.add(d); // 3
list.add(e); // 4
list = list.subList(1, 3);// 1 3 List
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
System.out.println(" !");
}
}
콘 솔 에서 다음 과 같은 정 보 를 출력 합 니 다:B
C
자바 list 용법 예제 에 대한 자세 한 설명 은 여기까지 입 니 다.더 많은 자바 list 용법 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!