728x90
반응형

Array

  • 선언은 2가지 방식으로 할 수 있다.
int[] marks = {1,2,3,4,5};
int[] marks = new int[5];
  • java의 배열의 length는 속성이지, 메서드가 아니다.
marks.length
  • 배열의 요소들을 출력하고 싶다면, for문을 사용해서 인덱스마다 출력해도 되고, Arrays.toString(배열이름); 을 사용해도 된다. (배열의 콘텐츠 불러오기)
System.out.println("Arrays.toString(persons) = " + Arrays.toString(persons));
// Arrays.toString(marks) = [1, 2, 3, 4, 5]
  • 배열의 모든 값을 한번에 바꾸는 방법도 있다. Arrays.fill(배열이름, 바꾸고 싶은 값);
int[] marks2 = {100, 99, 95, 96, 100};
for (int mark : marks2) {
    System.out.println("mark = " + mark);
}

Arrays.fill(marks2, 100);
for (int mark : marks2) {
    System.out.println("mark = " + mark);
}
  • 두 배열이 같은 요소를 가지는지 확인할 수 있다. Arrays.equals(배열1, 배열2)
Arrays.equals(marks, marks2)
  • 배열 정렬 Arrays.sort(배열이름);
  • inline : 함수의 내용을 호출을 통해서 실행시키는 것이 아니라, 호출하는 코드 자체가 함수 내용의 코드가 된다.
int[] marks = {100, 90, 80, 20, 40};
Student student = new Student("김태헌", marks);
// inline
Student student = new Student("김태헌", new int[] {100, 90, 80, 20, 40});
  • 가변 변수를 인자로 입력받기 ( 배열의 크기가 다양할 때 사용하면 좋다 ) … 을 사용하면 된다. 가변 인수는 항상 메소드의 마지막에 와야 한다!
void print(int... values){
    System.out.println("Arrays.toString(values) = " + Arrays.toString(values));
}

student.print(1,2,3,4,5); // Arrays.toString(values) = [1, 2, 3, 4, 5]
student.print(1,2); // Arrays.toString(values) = [1, 2]

int sum(int... values) {
    int sum = 0;
    for (int value : values) {
        sum += value;
    }
    System.out.println("sum = " + sum);
    return sum;
}
student.sum(1,2,3,4,5,346,234,23,42,34,23,423); // sum = 1140
  • Array에 다른 요소 하나 추가하는 방법 → 배열 자체를 새로 만들어야 한다. (배열을 한 번 생성 했다면 이후에 요소의 개수를 변경할 방법은 없다)
  • Array에 요소를 지우고 싶은 경우에도 새로운 배열을 만들면 된다
  • 이 과정이 귀찮으므로 ArrayList에 있는 메서드를 사용하면 된다.

ArrayList

  • ArrayList는 다음과 같이 선언한다.
    add와 remove를 이용해서 추가하고 제거할 수 있다.
ArrayList arrayList = new ArrayList();
arrayList.add("Apple");
arrayList.add("Banana");
arrayList.add(1); // String과 Int가 섞여서 들어갈 수 있다. 그치만 같은 자료형이 들어가는 것이 좋다.
System.out.println("arrayList = " + arrayList);
arrayList.remove("Apple");
System.out.println("arrayList = " + arrayList);
  • ArrayList에는 다양한 자료형이 들어가도 되지만 같은 자료형이 들어가는 것이 좋으므로, 미리 자료형을 선언한다. 그럼 다른 자료형이 들어가면 오류가 난다.
ArrayList<String> items = new ArrayList<>(); // 제네릭
728x90
반응형

+ Recent posts