자바 list 용법 예시 상세 설명

12275 단어 list 용법
|-List:요 소 는 질서 가 있 습 니 다.(저장 하 는 대로 꺼 내 고 순서 가 흐 트 러 지지 않 습 니 다)요 소 는 중복 할 수 있 습 니 다.(각표 1 에 3 이 있 고 각표 2 에 도 3 이 있 습 니 다)이 집합 시스템 에 색인 이 있 기 때 문 입 니 다.
  |-- 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 l = new ArrayList();// ArrayList 클래스 를 이용 하여 실례 화 List 집합
List l2 = new LinkedList();// 링크 드 리스트 클래스 를 이용 하여 실례 화 리스트 집합
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 용법 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기