1. 우선 List
① 컬렉션(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); } } }
렌더링:
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의 목록 컬렉션 및 순회에 대한 자세한 설명은 PHP 중국어 웹사이트를 참고하세요!