- Java에서는 int와 integer같이, Primite자료형과 Wrapper클래스가 있음
- Wrapper 클래스는 Primitive 자료형보다 많은 이점이 존재한다.
- null을 용이하게 처리할 수 있다.
- ArrayList등 객체만을 핸들링 하는 기능을 사용하기 위해
| Integer[] data_list = new Integer[10]; |
| data_list[0] = 1; |
data_list[2];
| Integer data_list1[] = {5, 4, 3, 2, 1}; |
| Integer[] data_list2 = {1, 2, 3, 4, 5}; |
| |
| System.out.println(data_list2[0]); |
data_list1[0];
- 다음과 같이 List와 ArrayList선언의 차이점
List<Integer> list1 = new ArrayList<Integer>();
ArrayList<Integer> list1 = new ArrayList<Integer>();
- List는 인터페이스이고, ArrayList는 클래스임
- 클래스는 크게 일반 클래스와 클래스 내에 '추상 메서드'가 하나 이상 있거나, abstract로 정의된 추상 클래스로 나뉨
- 인터페이스는 모든 메서드가 추상 메서드인 경우를 의미하며, 인터페이스를 상속받는 클래스는 인터페이스에서 정의된 추상 메서드를 모두 구현해야 함(따라서 다양한) 클래스를 상속받는 특정 인터페이스는 결국 동일한 메서드를 제공함)
- ArrayList가 아니라 List로 선언된 변수는 다음과 같이 필요에 따라 다른 리스트 클래스를 쓸 수 있는 구현상의 유연성을 제공함
List<Integer> list1 = new ArrayList<Integer>();
list1 = new LinkedList<Integer>();
- 다만 나는 자료구조/알고리즘에서는 굳이 동일 변수에 다양한 리스트 클래스를 쓸 필요는 없으므로, 최대한 동일한 클래스로 선언하기로 함
ArrayList<Integer> list1 = new ArrayList<Integer>();
- 또한 JDK1.7이상 부터는 인스턴스 생성 시 타입을 추정할 수 있는 경우에만 타입을 생략할 수 있으므로, 다음과 같이 작성 가능하지만, 가능한 JAVA버전 제한하지 않기 위해, 아래와 같이 작성하지 않기로 함
ArrayList<Integer> list1 = new ArrayList<>();
| import java.util.ArrayList; |
| |
| ArrayList<Integer> list1 = new ArrayList<Integer>(); |
| list1.add(1); |
| list1.add(2); |
| list1.get(0); |
| list1.set(0, 5); |
| list1.get(0); |
| list1.remove(0); |
| list1.get(0); |
| Integer data_list[][] = {{1, 2, 3}, {4, 5, 6}}; |
| |
| System.out.println(data_list[0][1]); |
| System.out.println(Arrays.toString(data_list[0])); |
| |
| |
연습해보기1위 3차원 배열에서 8, 10, 2 를 순서대로 각각의 라인에 출력해보기 (System.out.println 사용)
- 처음이라 쉽습니다. 처음에는 매우 쉽지만, 후반부는 충분히 어렵습니다.
- 쉬운 부분을 잘 쌓아나가야 어려운 부분을 잘 할 수 있습니다.
| String dataset[] = { |
| , |
| , |
| , |
| , |
| , |
| , |
| , |
| , |
| , |
| , |
| , |
| , |
| , |
| , |
| , |
| , |
| , |
| , |
| , |
| , |
| , |
| , |
| , |
| , |
| , |
| , |
| , |
| , |
| , |
| |
| }; |
| Integer count = 0; |
| |
| for(Integer item = 0; item < dataset.length; item++) { |
| if(dataset[item].indexOf("M") > 0) { |
| count++; |
| } |
| } |
| System.out.println(count); |