java의 Collection 인터페이스 실례 상세 설명

1. Collection은 집합 클래스의 최고급 인터페이스로 직접 계승 인터페이스는 List와 Set가 있다.
Collection
|--List: 요소는 정렬되어 있으며 반복할 수 있습니다.이 집합 체계에 색인이 있기 때문이다.
|--ArrayList: 기본 데이터 구조는 배열 구조를 사용합니다.특징: 조회 속도가 매우 빠르다.근데 첨삭이 좀 느려요.스레드가 동기화되지 않습니다.
|--LinkedList: 베이스에서 사용되는 체인 테이블 데이터 구조입니다.특징: 삭제 속도가 빠르고 조회가 느리다.스레드가 동기화되지 않습니다.
|--Vector: 베이스는 배열 데이터 구조입니다.스레드 동기화.Array List로 대체되었습니다.효율이 낮기 때문이다.
|--Set: 요소는 무질서하며 반복할 수 없습니다.
List: 고유한 방법입니다.무릇 각표를 조작할 수 있는 방법은 모두 이 체계 특유의 방법이다.
증가:

 add(index,element);
 addAll(index,Collection);
삭제:remove(index);
변경:set(index,element);
조사:

get(index):
 subList(from,to);
 listIterator();
 int indexOf(obj): 。
 ListIterator listIterator();
List 집합 특유의 교체기.ListIterator는 Iterator의 하위 인터페이스입니다.
교체할 때, 집합 대상의 방법을 통해 집합 중의 요소를 조작할 수 없다.ConcurrentModificationException 이상이 발생하기 때문입니다.
따라서 교체기를 사용할 때 교체기의 조작원소만 사용할 수 있지만 Iterator 방법은 유한하기 때문에 원소를 판단하고 추출하고 삭제하는 조작만 할 수 있다.
추가, 수정 등 다른 작업을 하려면 하위 인터페이스, ListIterator를 사용해야 합니다.이 인터페이스는 List 집합의 listIterator 방법으로만 얻을 수 있습니다.
인스턴스 코드:

import java.util.*;
class ListDemo 
{
 public static void sop(Object obj)
 {
  System.out.println(obj);
 }
 public static void method()
 {
  
  ArrayList al = new ArrayList();

  // 
  al.add("java01");
  al.add("java02");
  al.add("java03");
  
  sop(" :"+al);
  // 。
  al.add(1,"java09");

  // 。
  //al.remove(2);

  // 。
  //al.set(2,"java007");

  // 。
  sop("get(1):"+al.get(1));

  sop(al);

  // 。
  for(int x=0; x<al.size(); x++)
  {
   System.out.println("al("+x+")="+al.get(x));
  }

  Iterator it = al.iterator();

  while(it.hasNext())
  {
   sop("next:"+it.next());
  }


  // indexOf 。
  sop("index="+al.indexOf("java02"));

  List sub = al.subList(1,3);

  sop("sub="+sub);
 }

 
 public static void main(String[] args) 
 {

  // 。
  ArrayList al = new ArrayList();

  // 
  al.add("java01");
  al.add("java02");
  al.add("java03");

  sop(al);

  
  ListIterator li = al.listIterator();

  
  //sop("hasPrevious():"+li.hasPrevious());

  while(li.hasNext())
  {
   Object obj = li.next();

   if(obj.equals("java02"))
    //li.add("java009");
    li.set("java006");


  }

  while(li.hasPrevious())
  {
   sop("pre::"+li.previous());
  }
  //sop("hasNext():"+li.hasNext());
  //sop("hasPrevious():"+li.hasPrevious());


  sop(al);



  /*
  // , 。

  Iterator it = al.iterator();

  while(it.hasNext())
  {
   Object obj = it.next();

   if(obj.equals("java02"))
    //al.add("java008");
    it.remove();// java02 。

   sop("obj="+obj);


  }
  sop(al);
  */
  


 }
}
이상은 JAVA Collection 인터페이스에 대한 자료 정리로 자바를 공부하는 학우들에게 도움이 되었으면 합니다.

좋은 웹페이지 즐겨찾기