자바에서는 정렬 그리고 배열목록 잘 알려진 데이터 구조이다. 배열은 Java에서 제공하는 기본 기능인 반면, 배열목록 Java 컬렉션 프레임워크의 클래스입니다. 에 속한다 java.util 패키지.
자바 어레이
안 정렬 동적으로 생성된 객체입니다. 동일한 유형의 값을 일정하게 유지하는 컨테이너 역할을 합니다. 연속된 메모리 위치를 가지고 있습니다. 배열이 생성되면 크기를 변경할 수 없습니다. 다음 명령문을 사용하여 배열을 만들 수 있습니다.
int array[]=new int[size];
위의 명령문은 지정된 크기의 배열을 생성합니다. 크기보다 더 많은 것을 추가하려고 하면 오류가 발생합니다. ArrayIndexOutOfBoundsException . 예를 들어:
int arr[]=new int[3]; //specified size of array is 3 //adding 4 elements into array arr[0]=12; arr[1]=2; arr[2]=15; arr[3]=67;
자바 ArrayList 클래스
자바에서는 배열목록 컬렉션 프레임워크의 클래스입니다. 구현합니다 목록, 수집, 반복 가능, 복제 가능, 직렬화 가능 , 그리고 랜덤액세스 인터페이스. 확장됩니다 추상목록 수업.
다음 명령문을 사용하여 ArrayList의 인스턴스를 만들 수 있습니다.
ArrayList arrayList=new ArrayList();
ArrayList는 Java의 배열에 의해 내부적으로 지원됩니다. ArrayList의 크기 조정 작업에는 새 배열이 포함되고 이전 배열의 콘텐츠가 새 배열로 복사되므로 성능이 저하됩니다. 기본 구현 메서드를 호출합니다. System.arraycopy(초, srcPos, 대상, 대상 위치, 길이) .
ArrayList에는 기본 유형을 저장할 수 없습니다. 따라서 객체만 저장합니다. 기본 유형을 객체로 자동 변환합니다. 예를 들어 ArrayList 객체를 생성했습니다.
ArrayList list=new ArrayList(); //object of ArrayList arrayObj.add(12); //trying to add integer primitive to the ArrayList
JVM은 Auto-boxing을 통해 이를 Integer 객체로 변환합니다.
ArrayList arrayObj=new ArrayList()//object of ArrayList arrayObj(new Integer(12)); //converts integer primitive to Integer object and added to ArrayList object
유사점
- Array와 ArrayList는 모두 요소를 저장하는 데 사용됩니다.
- Array와 ArrayList는 모두 null 값을 저장할 수 있습니다.
- 중복된 값을 가질 수 있습니다.
- 요소의 순서를 유지하지 않습니다.
다음 표에서는 배열과 ArrayList의 주요 차이점을 설명합니다.
기초 | 정렬 | 배열목록 |
---|---|---|
정의 | 안 정렬 동적으로 생성된 객체입니다. 동일한 유형의 값을 일정하게 유지하는 컨테이너 역할을 합니다. 연속된 메모리 위치를 가지고 있습니다. | 그만큼 배열목록 자바의 클래스이다 컬렉션 뼈대. 다음과 같은 인기 있는 클래스가 포함되어 있습니다. 벡터, 해시테이블 , 그리고 해시맵 . |
정적/동적 | 배열은 공전 크기가. | ArrayList는 동적 크기가. |
크기 조정 가능 | 배열은 고정 길이 데이터 구조. | 어레이리스트는 가변 길이 데이터 구조. 필요할 때 자체적으로 크기를 조정할 수 있습니다. |
초기화 | 직접 또는 간접적으로 초기화하는 동안 배열의 크기를 제공하는 것이 필수입니다. | 크기를 지정하지 않고 ArrayList의 인스턴스를 만들 수 있습니다. Java는 기본 크기의 ArrayList를 생성합니다. |
성능 | 수행합니다 빠른 고정된 크기로 인해 ArrayList와 비교됩니다. | ArrayList는 Java의 배열에 의해 내부적으로 지원됩니다. ArrayList의 크기 조정 작업으로 인해 성능이 저하됩니다. |
기본/일반 유형 | 배열은 두 가지를 모두 저장할 수 있습니다 사물 그리고 기초 요소 유형. | 저장할 수 없습니다 원어 ArrayList에 입력하세요. 기본 유형을 객체로 자동 변환합니다. |
값 반복 | 우리는 사용 ~을 위한 루프 또는 각각 배열을 반복하는 루프입니다. | 우리는 반복자 ArrayList를 반복합니다. |
유형 안전 | 배열은 변환 가능한 유형의 배열이 아니기 때문에 배열과 함께 제네릭을 사용할 수 없습니다. | ArrayList를 사용하면 저장만 가능합니다. 일반적인/ 유형이 있기 때문에 유형이 안전합니다. |
길이 | 어레이는 다음을 제공합니다. 길이 배열의 길이를 나타내는 변수입니다. | ArrayList는 다음을 제공합니다. 크기() ArrayList의 크기를 결정하는 방법. |
요소 추가 | 다음을 사용하여 배열에 요소를 추가할 수 있습니다. 과제 운영자. | 자바는 추가하다() ArrayList에 요소를 추가하는 메서드입니다. |
단일/다차원 | 배열은 다음과 같습니다. 다차원 . | ArrayList는 항상 1차원 . |
Java 배열의 예
다음 예에서는 길이가 4인 배열을 만들었습니다.
public class ArrayExample { public static void main(String args[]) { //creating an array of integer type int arr[]=new int[4]; //adding elements into array arr[0]=12; arr[1]=2; arr[2]=15; arr[3]=67; for(int i=0;i <arr.length;i++) { system.out.println(arr[i]); } < pre> <p> <strong>Output:</strong> </p> <pre> 12 2 15 67 </pre> <h2>Example of ArrayList in Java</h2> <p>In the following example, we have created an instance of ArrayList and performing iteration over the ArrayList.</p> <pre> import java.util.*; public class ArrayListExample { public static void main(String args[]) { //creating an instance of ArrayList List list = new ArrayList(); //adding element to arraylist list.add(12.4f); list.add(34.6f); list.add(56.8f); list.add(78.9f); //iteration over ArrayList using for-each loop for(Float f:list) { System.out.println(f); } } } </pre> <p> <strong>Output:</strong> </p> <pre> 12.4 34.6 56.8 78.9 </pre> <hr></arr.length;i++)>
Java의 ArrayList 예
다음 예에서는 ArrayList의 인스턴스를 생성하고 ArrayList에 대해 반복을 수행했습니다.
import java.util.*; public class ArrayListExample { public static void main(String args[]) { //creating an instance of ArrayList List list = new ArrayList(); //adding element to arraylist list.add(12.4f); list.add(34.6f); list.add(56.8f); list.add(78.9f); //iteration over ArrayList using for-each loop for(Float f:list) { System.out.println(f); } } }
산출:
라텍스 매트릭스
12.4 34.6 56.8 78.9