개인 재정 배열 - 더미

배열 - 더미

비디오: 자바 코드 연습 별찍기 #1 2024

비디오: 자바 코드 연습 별찍기 #1 2024
Anonim

많은 Android 앱에서 사용되는 ArrayList 클래스는 Java 컬렉션 빙산의 일각에 지나지 않습니다. Java 라이브러리에는 많은 장점이있는 컬렉션 클래스가 많이 포함되어 있습니다. 표에는 축약 된 목록이 있습니다.

일부 Collection 클래스

클래스 이름 Characteristic
ArrayList 크기 조정 가능한 배열입니다.
LinkedList 목록의 다음

를 가리키는 필드가있는 값 목록입니다.

Stack 최상위 값에 액세스하기 위해 최적화 된

구조 (아래에서 위로 증가하는 구조).

상단에 값을 쉽게 추가하거나 상단에서 값을 제거 할 수 있습니다.

Queue 한쪽 끝 (후면)에 값을 추가하고

다른 끝 (앞쪽)에서 값을 제거하기 위해 최적화 된 구조 (한쪽 끝이 커짐).

PriorityQueue

특정 우선 순위 (높은 우선 순위)의 값을 앞쪽으로 이동시킬 수있는 큐와 같은 구조입니다.

HashSet

중복 값이없는 컬렉션입니다. HashMap
키 / 값 쌍 모음. ->
각 콜렉션 클래스는 (모든 콜렉션 클래스의 상위 클래스 인 AbstractCollection에서 상속받은 메소드 이외에) 고유 한 메소드 세트를가집니다.

배열은 색인 생성에 최적화 된 특별한 종류의 콜렉션입니다. 즉, 배열에 저장된 100 번째 값, 배열에 저장된 1, 000 번째 값 또는 배열에 저장된 1,000, 000 번째 값을 쉽고 효율적으로 찾을 수 있습니다.

package com. allmycode. 컬렉션; 공용 클래스 SimpleCollectionsDemo {public static void main (String [] args) {

String [] myArray = new String [4];

myArray [0] = "Hello"; myArray [1] = ","; myArray [2] = "독자"; myArray [3] = "!"; (int i = 0; i <4; i ++) { 시스템에 대한 아웃. print (myArray [i]); } 시스템. 아웃. println (); for (String string: myArray) {System. 아웃. print (string);}}} 이 그림은 목록에있는 코드 실행 결과를 보여줍니다. 일반 for 루프와 향상된 for 루프는 동일한 출력을 표시합니다.

목록에서 코드 실행.

목록에서 일반 for 루프는 각 색인이 대괄호로 표시된 색인을 사용합니다.모든 Java 콜렉션과 마찬가지로 초기 값 인덱스는 1이 아니라 0입니다. 배열의 선언에서 숫자 4를 주목하십시오 - "배열에 4 개의 값을 저장할 수 있습니다. "

숫자 4999는"myArray [4]에 값을 할당 할 수 있음을 나타내는

것이 아닙니다. "사실, myArray [4] ="죄송합니다! "목록에있는 코드를 실행하면 프로그램을 실행할 때 불쾌한 오류 메시지 (ArrayIndexOutOfBoundsException)가 발생합니다.

String [] myArray = new String [4] 문은 빈 배열을 만들고 myArray 변수가 빈 배열을 참조하도록합니다. 배열은 잠재적으로 4 개의 값을 저장할 수 있습니다. 그러나 초기에 변수는 값이없는 배열을 참조합니다. Java가 배열에 모든 값을 포함하는 첫 번째 할당 문 (myArray [0] = "Hello")을 실행할 때까지는 아닙니다.

배열에 저장된 100 번째 값이나 배열에 저장된 1, 000, 000 번째 값을 쉽고 효율적으로 찾을 수 있습니다. 하루의 작업에는 나쁘지 않습니다. 배열을 사용할 때의 단점은 무엇입니까? 배열의 가장 큰 단점은 각 배열이 보유 할 수있는 값의 수에 고정 된 제한이 있다는 것입니다. 목록에 배열을 만들면 Java는 4 개의 문자열 값을위한 공간을 예약합니다. 프로그램의 뒷부분에서 배열의 다섯 번째 요소를 저장하기로 결정했다면, 더 큰 배열로 만들기 위해 서툴고 비효율적 인 코드가 필요합니다. 다음 예제와 같이 배열에 필요한 크기를 과대 평가할 수도 있습니다. String [] myArray = new String [20000000];

과대 평가를하면 아마도 많은 메모리 공간을 낭비하게됩니다.

배열의 또 다른 불편한 점은 새로운 값을 삽입하는 데 어려움이 있다는 것입니다.

Emperor Constantine Comics

컬렉션에 매년 나무 상자가 있다고 상상해보십시오. 이 연작은 콘스탄티누스가 로마 제국의 머리가되었을 때 307 A. D.로 거슬러 올라갑니다.

당신은 약 6 년 (대부분 1150 년에서 1155 년까지)을 놓치고 있기 때문에 당신은 1 700 박스 밖에 가지고 있지 않습니다. 상자는 번호가 매겨지지 않았지만 길이가 200 미터 인 선에서 다른 상자 옆에 쌓여 있습니다. 이스탄불의 차고 세일에서는 1152 년 3 월부터

Emperor Constantine Comics 희귀 품을 발견합니다. 1152 년의 첫 만화에서 1151과 1153 년 사이에 더미 상자에 새 상자를 삽입해야한다는 것을 알고 있습니다. 2013 년 상자를 왼쪽으로 약 10 센티미터 이동 한 다음 2012 상자를 2013 상자를 클릭 한 다음 2012 상자 대신 2011 상자를 이동하십시오. 등등. 열렬한

황제

콘스탄틴 코믹스 컬렉터의 삶은 무심 해 지려하고 있습니다! 큰 배열의 중간에 값을 삽입하는 것은 성가신 일입니다.

배열 - 더미

편집자의 선택

Photoshop Elements 11 - Stone

Photoshop Elements 11 - Stone

을 사용하여 Stone Out을 조각하는 방법 Photoshop Elements 11의 도구를 입력하여 텍스트와 같은 모양의 선택 영역을 만든 다음 이미지 자체를 해당 유형의 채우기로 사용합니다. 예를 들어 꽃 테마 웹 페이지를 만드는 경우 꽃 그림을 텍스트 채우기로 사용할 수 있습니다. 유형 선택을 사용하면 모든 부분을 잘라낼 수 있습니다.

Photoshop Elements 9에서 여러 파일을 일괄 처리하는 방법 - 여러 개의 인형이있는 경우

Photoshop Elements 9에서 여러 파일을 일괄 처리하는 방법 - 여러 개의 인형이있는 경우

여러 파일에 공통적으로 적용 할 편집 기능을 사용하면 Photoshop Elements에서 이러한 변경 사항을 일괄 적으로 처리 할 수 ​​있습니다. 단일 메뉴 명령을 사용하여 파일 형식을 변경하고 파일 속성을 변경하고 공통 파일 기본 이름을 추가 할 수 있습니다. 파일 이름 바꾸기는 내보내기 명령의 일부일 수도 있고 사용할 수도 있습니다.

편집자의 선택

승마 2012 런던 하계 올림픽 - 인형

승마 2012 런던 하계 올림픽 - 인형

승마 (말의 화려한 이름) 경쟁 런던 2012 하계 올림픽은 조련사, 이벤트 및 점프의 세 가지 분야로 구성됩니다. 각 분야는 팀과 개인 메달을위한 기회를 제공합니다. 대회는 7 월 28 일부터 31 일까지 개최됩니다. 조련사 경연 대회는 8 월 2 일부터 9 일까지 개최됩니다. 점프 대회는 ...

동계 올림픽에서의 자유형 스키 - 인형

동계 올림픽에서의 자유형 스키 - 인형

프리 스타일 스키는 동계 올림픽의 X 게임 이벤트 중 하나입니다. . 자유형 스키에서는 경쟁자가 언덕 꼭대기에서 바닥까지 다양한 행사를 수행합니다. 프리 스타일 스키는 기술 스키의 가장 중요한 부분을 차지하며 스노우 보드에서 트릭을 만들어내는 기술과 결합되어 있습니다.

필드 2012 런던 하계 올림픽의 이벤트 - 인형

필드 2012 런던 하계 올림픽의 이벤트 - 인형

스프린트, 릴레이 및 도로 경주 이외에도 2012 런던 하계 올림픽 육상 경기에는 점프 및 던지기 경기가 포함됩니다. 남자와 여자는 높은 점프, 긴 점프, 트리플 점프, 장대 높이뛰기 등의 4 가지 점프 이벤트와 총구, 원반, 창 던지기 및 망치와 같은 네 가지 투구 이벤트에서 경쟁합니다. 필드 이벤트 ...

편집자의 선택

Excel의 유용한 범위 객체 메소드 2016 VBA 프로그래밍 - VBA 메소드가 수행하는

Excel의 유용한 범위 객체 메소드 2016 VBA 프로그래밍 - VBA 메소드가 수행하는

엑셀 2016의 액션. Range 객체는 수십 개의 메소드를 가지고 있지만, 이들 중 대부분은 필요하지 않습니다. 여기서는 가장 일반적으로 사용되는 Range 객체 메소드를 찾습니다. Select 메서드 Select 메서드를 사용하여 셀 범위를 선택합니다. 다음 문은 ...

시나리오 관리자를 사용하여 대출 계산 모델링 방법 - 더미

시나리오 관리자를 사용하여 대출 계산 모델링 방법 - 더미

시나리오 관리자는 목표 탐색 데이터 탭의 가정 분석 섹션에 데이터 테이블이 있습니다. 다른 유용한 도구와 함께 그룹화하면 시나리오 관리자가 중요한 도구임을 믿게 될 것입니다. 그러나 유용한 이름과 좋은 회사가 있음에도 불구하고 ...

더 나은보고 모델을 위해 Power Query와 Power Pivot을 함께 사용 - Power Pivot을 사용하여 더미

더 나은보고 모델을 위해 Power Query와 Power Pivot을 함께 사용 - Power Pivot을 사용하여 더미

Power Query를 함께 사용하면 관리 및 유지 보수가 쉬운보고 모델을 만들 수 있습니다. 보고 모델은보고 메커니즘이 구축되는 기초를 제공합니다. 데이터를 가져오고, 변환하고, 모양을 만들고, 집계하는보고 프로세스를 작성하면 본질적으로보고 모델을 구축하게됩니다. 잘못 작성하는 중 ...