목록 Java에서는 유지 관리 기능을 제공합니다. 주문한 컬렉션 . 여기에는 요소를 삽입, 업데이트, 삭제 및 검색하는 인덱스 기반 방법이 포함되어 있습니다. 중복된 요소도 있을 수 있습니다. 목록에 null 요소를 저장할 수도 있습니다.
목록 인터페이스는 다음 위치에 있습니다.java.utilCollection 인터페이스를 패키지화하고 상속합니다. ListIterator 인터페이스의 팩토리입니다. ListIterator를 통해 목록을 앞뒤 방향으로 반복할 수 있습니다. List 인터페이스의 구현 클래스는 다음과 같습니다.배열목록,링크드리스트, 스택 및 벡터. ArrayList와 LinkedList는 Java 프로그래밍에서 널리 사용됩니다. Vector 클래스는 Java 5부터 더 이상 사용되지 않습니다.
목록 인터페이스 선언
public interface List extends Collection
Java 목록 방법
방법 | 설명 | |
---|---|---|
void add(int 인덱스, E 요소) | 목록의 지정된 위치에 지정된 요소를 삽입하는 데 사용됩니다. | |
부울 추가(E e) | 목록 끝에 지정된 요소를 추가하는 데 사용됩니다. | |
부울 addAll(컬렉션 c) | 지정된 컬렉션의 모든 요소를 목록 끝에 추가하는 데 사용됩니다. | |
부울 addAll(int 인덱스, 컬렉션 c) | 목록의 지정된 위치에서 시작하여 지정된 컬렉션의 모든 요소를 추가하는 데 사용됩니다. | |
무효 클리어() | 이 목록에서 모든 요소를 제거하는 데 사용됩니다. | |
부울 같음(객체 o) | 지정된 개체를 목록의 요소와 비교하는 데 사용됩니다. | |
정수 해시코드() | 목록의 해시 코드 값을 반환하는 데 사용됩니다. | |
E get(int 인덱스) | 목록의 특정 위치에서 요소를 가져오는 데 사용됩니다. | |
부울 isEmpty() | 목록이 비어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다. | |
int lastIndexOf(객체 o) | 지정된 요소가 마지막으로 나타나는 이 목록의 인덱스를 반환하는 데 사용되며, 목록에 이 요소가 포함되어 있지 않으면 -1을 반환합니다. | |
객체[] toArray() | 이 목록의 모든 요소를 올바른 순서로 포함하는 배열을 반환하는 데 사용됩니다. | |
T[] toArray(T[] a) | 이 목록의 모든 요소를 올바른 순서로 포함하는 배열을 반환하는 데 사용됩니다. | |
부울 포함(객체 o) | 목록에 지정된 요소가 포함되어 있으면 true를 반환합니다. | |
boolean containAll(컬렉션 c) | 목록에 지정된 요소가 모두 포함되어 있으면 true를 반환합니다. | |
int indexOf(객체 o) | 이 목록에서 지정된 요소가 처음 나타나는 인덱스를 반환하는 데 사용됩니다. 목록에 이 요소가 없으면 -1을 반환합니다. | |
E 제거(int 인덱스) | 목록의 지정된 위치에 있는 요소를 제거하는 데 사용됩니다. | |
부울 제거(객체 o) | 지정된 요소의 첫 번째 항목을 제거하는 데 사용됩니다. | |
부울 RemoveAll(컬렉션 c) | 목록에서 모든 요소를 제거하는 데 사용됩니다. | |
void replacementAll(UnaryOperator 연산자) | 목록의 모든 요소를 지정된 요소로 바꾸는 데 사용됩니다. | |
void keepAll(컬렉션 c) | 지정된 컬렉션에 있는 목록의 모든 요소를 유지하는 데 사용됩니다. | |
E 세트(int 인덱스, E 요소) | 목록의 지정된 위치에 있는 지정된 요소를 바꾸는 데 사용됩니다. | |
무효 정렬(비교기 c) | 지정된 비교자를 기준으로 목록의 요소를 정렬하는 데 사용됩니다. | |
분할기 분할기() | 목록의 요소에 대한 분할기를 만드는 데 사용됩니다. | |
목록 하위 목록(int fromIndex, int toIndex) | 주어진 범위 내에 있는 모든 요소를 가져오는 데 사용됩니다. | |
정수 크기() | 목록에 있는 요소의 수를 반환하는 데 사용됩니다. |
자바 목록과 ArrayList
List는 인터페이스인 반면 ArrayList는 List의 구현 클래스입니다.
목록을 만드는 방법
ArrayList 및 LinkedList 클래스는 List 인터페이스 구현을 제공합니다. 목록을 생성하는 예를 살펴보겠습니다.
//Creating a List of type String using ArrayList List list=new ArrayList(); //Creating a List of type Integer using ArrayList List list=new ArrayList(); //Creating a List of type Book using ArrayList List list=new ArrayList(); //Creating a List of type String using LinkedList List list=new LinkedList();
즉, 모든 유형의 목록을 만들 수 있습니다. ArrayList 및 LinkedList 클래스는 유형을 지정하는 데 사용됩니다. 여기서 T는 종류를 나타낸다.
Java 목록 예
ArrayList 클래스를 구현으로 사용하는 List의 간단한 예를 살펴보겠습니다.
import java.util.*; public class ListExample1{ public static void main(String args[]){ //Creating a List List list=new ArrayList(); //Adding elements in the List list.add('Mango'); list.add('Apple'); list.add('Banana'); list.add('Grapes'); //Iterating the List element using for-each loop for(String fruit:list) System.out.println(fruit); } }지금 테스트해보세요
산출:
Mango Apple Banana Grapes
배열을 목록으로 변환하는 방법
배열을 순회하고 list.add() 메서드를 사용하여 목록의 요소를 하나씩 추가하여 배열을 목록으로 변환할 수 있습니다. 배열 요소를 List로 변환하는 간단한 예를 살펴보겠습니다.
import java.util.*; public class ArrayToListExample{ public static void main(String args[]){ //Creating Array String[] array={'Java','Python','PHP','C++'}; System.out.println('Printing Array: '+Arrays.toString(array)); //Converting Array to List List list=new ArrayList(); for(String lang:array){ list.add(lang); } System.out.println('Printing List: '+list); } }지금 테스트해보세요
산출:
Printing Array: [Java, Python, PHP, C++] Printing List: [Java, Python, PHP, C++]
목록을 배열로 변환하는 방법
list.toArray() 메소드를 호출하여 List를 Array로 변환할 수 있습니다. 목록 요소를 배열로 변환하는 간단한 예를 살펴보겠습니다.
의 이름
import java.util.*; public class ListToArrayExample{ public static void main(String args[]){ List fruitList = new ArrayList(); fruitList.add('Mango'); fruitList.add('Banana'); fruitList.add('Apple'); fruitList.add('Strawberry'); //Converting ArrayList to Array String[] array = fruitList.toArray(new String[fruitList.size()]); System.out.println('Printing Array: '+Arrays.toString(array)); System.out.println('Printing List: '+fruitList); } }지금 테스트해보세요
산출:
Printing Array: [Mango, Banana, Apple, Strawberry] Printing List: [Mango, Banana, Apple, Strawberry]
목록에서 요소 가져오기 및 설정
그만큼 get() 메소드 주어진 인덱스에 있는 요소를 반환하는 반면, set() 메서드 요소를 변경하거나 대체합니다.
import java.util.*; public class ListExample2{ public static void main(String args[]){ //Creating a List List list=new ArrayList(); //Adding elements in the List list.add('Mango'); list.add('Apple'); list.add('Banana'); list.add('Grapes'); //accessing the element System.out.println('Returning element: '+list.get(1));//it will return the 2nd element, because index starts from 0 //changing the element list.set(1,'Dates'); //Iterating the List element using for-each loop for(String fruit:list) System.out.println(fruit); } }지금 테스트해보세요
산출:
Returning element: Apple Mango Dates Banana Grapes
목록을 정렬하는 방법
목록을 정렬하는 방법은 다양합니다. 여기서는 Collections.sort() 메서드를 사용하여 목록 요소를 정렬하겠습니다. 그만큼 java.util 패키지는 유틸리티 클래스를 제공합니다 컬렉션 정적 메소드 sort()가 있습니다. 사용하여 컬렉션.정렬() 방법을 사용하면 모든 목록을 쉽게 정렬할 수 있습니다.
import java.util.*; class SortArrayList{ public static void main(String args[]){ //Creating a list of fruits List list1=new ArrayList(); list1.add('Mango'); list1.add('Apple'); list1.add('Banana'); list1.add('Grapes'); //Sorting the list Collections.sort(list1); //Traversing list through the for-each loop for(String fruit:list1) System.out.println(fruit); System.out.println('Sorting numbers...'); //Creating a list of numbers List list2=new ArrayList(); list2.add(21); list2.add(11); list2.add(51); list2.add(1); //Sorting the list Collections.sort(list2); //Traversing list through the for-each loop for(Integer number:list2) System.out.println(number); } }
산출:
Apple Banana Grapes Mango Sorting numbers... 1 11 21 51
Java ListIterator 인터페이스
ListIterator 인터페이스는 요소를 앞뒤 방향으로 탐색하는 데 사용됩니다.
ListIterator 인터페이스 선언
public interface ListIterator extends Iterator
Java ListIterator 인터페이스의 방법:
방법 | 설명 |
---|---|
무효 추가(E e) | 이 메소드는 지정된 요소를 목록에 삽입합니다. |
부울 hasNext() | 이 메서드는 목록을 순방향으로 탐색하는 동안 목록 반복자에 더 많은 요소가 있는 경우 true를 반환합니다. |
E다음() | 이 메서드는 목록의 다음 요소를 반환하고 커서 위치를 앞으로 이동합니다. |
int nextIndex() | 이 메서드는 next()에 대한 후속 호출에서 반환될 요소의 인덱스를 반환합니다. |
부울 hasPrevious() | 이 메서드는 목록을 반대 방향으로 탐색하는 동안 이 목록 반복자에 더 많은 요소가 있는 경우 true를 반환합니다. |
이전() | 이 메서드는 목록의 이전 요소를 반환하고 커서 위치를 뒤로 이동합니다. |
E 이전 인덱스() | 이 메서드는 이전()에 대한 후속 호출에서 반환될 요소의 인덱스를 반환합니다. |
무효 제거() | 이 메서드는 next() 또는 이전() 메서드에서 반환된 목록에서 마지막 요소를 제거합니다. |
무효 집합(E e) | 이 메서드는 next() 또는 이전() 메서드에서 반환된 마지막 요소를 지정된 요소로 바꿉니다. |
ListIterator 인터페이스의 예
import java.util.*; public class ListIteratorExample1{ public static void main(String args[]){ List al=new ArrayList(); al.add('Amit'); al.add('Vijay'); al.add('Kumar'); al.add(1,'Sachin'); ListIterator itr=al.listIterator(); System.out.println('Traversing elements in forward direction'); while(itr.hasNext()){ System.out.println('index:'+itr.nextIndex()+' value:'+itr.next()); } System.out.println('Traversing elements in backward direction'); while(itr.hasPrevious()){ System.out.println('index:'+itr.previousIndex()+' value:'+itr.previous()); } } }
산출:
Traversing elements in forward direction index:0 value:Amit index:1 value:Sachin index:2 value:Vijay index:3 value:Kumar Traversing elements in backward direction index:3 value:Kumar index:2 value:Vijay index:1 value:Sachin index:0 value:Amit
목록의 예: 도서
도서를 추가하는 List의 예를 살펴보겠습니다.
import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class ListExample5 { public static void main(String[] args) { //Creating list of Books List list=new ArrayList(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications and Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to list list.add(b1); list.add(b2); list.add(b3); //Traversing list for(Book b:list){ System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } }지금 테스트해보세요
산출:
101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications and Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6
관련 주제
jlist
Java에서 ArrayList 및 LinkedList를 사용하는 경우
ArrayList와 벡터의 차이점
Java에서 배열을 초기화하는 방법
Java에서 ArrayList를 뒤집는 방법
Java에서 ArrayList 및 LinkedList를 사용하는 경우
ArrayList를 읽기 전용으로 만드는 방법
Java에서 ArrayList의 배열 길이와 크기()의 차이점
Java에서 ArrayList를 동기화하는 방법
Java에서 ArrayList를 Array로, Array를 ArrayList로 변환하는 방법
Java의 배열과 ArrayList
Java ArrayList를 내림차순으로 정렬하는 방법
Java의 ArrayList에서 중복을 제거하는 방법