> Java > java지도 시간 > Java의 목록 수집 및 순회에 대한 자세한 설명

Java의 목록 수집 및 순회에 대한 자세한 설명

高洛峰
풀어 주다: 2017-01-22 15:35:26
원래의
1930명이 탐색했습니다.

1. 우선 List 컬렉션 상속과 Collection

① 컬렉션(JDK1.2 버전에 등장한 컬렉션 프레임워크)

② 목록: 순서가 지정되며 요소가 반복될 수 있는 컬렉션 시스템으로 간주됩니다.

이 인터페이스를 구현한 ArrayList, LinkedList 클래스가 자주 사용됩니다.

③ Arraylist: 기본 데이터 구조가 배열 구조를 사용합니다.

특징: 쿼리 속도가 빠릅니다. , 그러나 추가 및 삭제는 약간 느립니다. 스레드가 동기화되지 않습니다

LinkedList: 하단 레이어는 연결된 목록 데이터 구조를 사용합니다.

특징: 추가 및 삭제 속도가 매우 빠르고 쿼리가 약간 느립니다.

벡터: (JDK1.0 버전에서 등장) 맨 아래 레이어는 배열 데이터 구조와 스레드 동기화입니다. ArrayList로 대체되었습니다. (더 이상 필요하지 않음)

2. 목록을 탐색하는 두 가지 방법:

public class Demo {
  public static void main(String[] args) {
    ArrayList<String> list = new ArrayList<String>();
    list.add("A");
    list.add("B");
    list.add("C");
     
    System.out.println("........第一种遍历方式:for遍历......");
    for (Object li : list) {
      System.out.println(li);
    }
     
    System.out.println("........第二种遍历方式:ListIterator迭代遍历......");
    ListIterator<String> it = list.listIterator();
    while (it.hasNext()) {
      Object obj = it.next();
      System.out.println(obj);
    }
  }
}
로그인 후 복사

렌더링:

Java의 목록 수집 및 순회에 대한 자세한 설명

3. LinkList를 사용하여 스택 또는 큐 데이터 구조를 시뮬레이션합니다. 즉, 스택: 선입선출; 대기열: 선입선출

class Duilie{
  private LinkedList<Object> link;
  Duilie(){
    link = new LinkedList<Object>();
  }
  public void myAdd(Object obj){
    link.addFirst(obj);
   }
  public Object myGet(){
    return link.removeLast();//先进先出---若要改成先进后出,将removelast()改成removeFirst()
  }
  public boolean isNull(){
    return link.isEmpty();
  }
}
public class Demo2 {
  public static void main(String[] args) {
    Duilie dl = new Duilie();
    dl.myAdd("java01");
    dl.myAdd("java02");
    dl.myAdd("java03");
    dl.myAdd("java04");
    while(!dl.isNull()){
      System.out.println(dl.myGet());
    }
  }
}
로그인 후 복사

렌더링:

Java의 목록 수집 및 순회에 대한 자세한 설명

위 내용은 선입선출 방식으로, 선입선출 방식으로 변경하고 싶으시면 코드에 적힌대로 변경하시면 됩니다.

위 내용은 전체 내용입니다. 이 기사가 마음에 드셨으면 좋겠습니다.

Java의 목록 컬렉션 및 순회에 대한 자세한 설명은 PHP 중국어 웹사이트를 참고하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿