ArrayList
일반 배열과 동일하게 연속된 메모리 공간을 사용하며 인덱스는 0부터 시작함
배열과의 차이점은 배열이 크기가 고정인 반면 ArrayList는 크기가 가변적으로 변한다는 것.
ArrayList 요소 추가
add() 메소드 사용
add()는 기본적으로 리스트의 가장 끝에 값을 추가함
별도로 인덱스를 저장하면 해당 인덱스에 값이 추가되고 그 인덱스로부터 값들이 1 칸씩 밀린다.
ArrayList 요소 삭제
remover() 메소드 사용
삭제할 때는 엘레먼트의 인덱스를 입력하거나 엘레먼트를 직접 입력
ArrayList 전체 값 확인
ArrayList의 모든 값들을 순회해서 출력하고 싶은 경우 다양한 방법을 사용할 수 있음
for-each문 사용
Examplefor.java
package main;
public class Examplefor {
public static void main(String[] args) {
// int[] arr = new int[] {5,4,1,3,2};
// for(int i=0; i<arr.length; i++) {
// System.out.println(arr[i]);
// }
/* for - each문
:(콜론) 기준 오른쪽에는 Collection을 적어주어야함
Collection이란 하나 이상의 변수를 묶어서 사용하는 자료 형태
왼쪽에는 Collection data하나를 넘겨받을 수 있는 변수를 써주어야한다.
장점 : 코드가 짧아서 쓰기 편한다.
단점 : Collection이 존재할 경우에만 사용가능하다. , 인덱스번호가 없으니 i를 사용할수가 없다.-> i값을 조절을 못함
*/
// for(int a : arr) {
// System.out.println(a);
// }
String[] arr = new String[] { "Hello", "New","For" };
for(String str : arr ) {
System.out.println(str);
}
}
}
Exam01 일반 배열
public class Exam_01 {
public static void main(String[] args) {
System.out.println("배열 예제");
String[] arr = new String[10];
arr[0] = "Hello";
arr[1] = "World";
arr[2] = "Collection";
// arr[3] = 100;
arr[0] = arr[1];
arr[1] = arr[2];
arr[2] = null;
System.out.println(arr[0]);//world
System.out.println(arr[1]);//collection
arr[2] = arr[1];
arr[1] = "Hello";
System.out.println(arr[0]);//world
System.out.println(arr[1]); //hello
System.out.println(arr[2]);//collection
System.out.println(arr.length);
;
}
}
Exam02 ArrayList예제
import java.util.ArrayList;
import java.util.Scanner;
public class Exam_02{
public static void main(String[] args) {
System.out.println("ArrayList예제");
//옛날엔 Vector라 불리었는데 지금은 ArrayList()라는 표현 더 많이 쓴다.
ArrayList<String> arr = new ArrayList<>();
//제너릭 문법 <> : Object형에서 String으로 변함
// 다형성을 잃고 다운캐스팅을 안해도되는 편리성을 얻음
arr.add("Hello");
arr.add("World");
arr.add("Collection");
// arr.add(100);
// arr.add(new Scanner(System.in));
// 배열은 동일한 타입의 집합인데 String도 들어가고 int도 들어가고 스캐너도 들어가네?
// ArrayList는 다형성이다! 변수하나가 여러가지 자료형을 담을 수 있다.
// 상속관계도 아니고 뭐지 ? 왜 다형성이 가능한 걸까?
// ArrayList의 자료형이 Object이기 때문이다. > 모든 자료형을 담을 수 있다.
arr.remove(0);
System.out.println(arr.get(0));
//여기서 꺼낸 Hello라는 문자열은 Object형이다.
//0번에 들어있는 String의 길이를 알고 싶을 때 > Object형을 String형으로 다운 캐스팅하여 사용한다.
// ((String)arr.get(0)).length();
// 필요도 없는 곳에 다형성을 남발하면 오히려 불편하기 때문에 필요한 상황에서만 사용해야한다.
System.out.println(arr.get(1));
arr.add(1, "Hello");
System.out.println(arr.get(0));
System.out.println(arr.get(1));
System.out.println(arr.get(2));
System.out.println(arr.size());
// 배열전체사이즈가 아닌 배열의 요소의 개수가 나온다.
}
}
'2024_풀스택학원 > Back-end' 카테고리의 다른 글
[Java] Timestamp, static, Network (0) | 2024.04.15 |
---|---|
[Java] 학생 관리 시스템 만들기 (1) | 2024.04.14 |
[Java] 상속 (0) | 2024.04.08 |
[Java] 생성자 & 게터 세터(Constructor & Getter Setter) (0) | 2024.04.04 |
[Java] Method (0) | 2024.04.02 |