[JAVA] Collections Framework (0)

래림·2023년 4월 20일
0

Java

목록 보기
1/4

String[] 의 경우 배열의 길이가 정해져있어 유연하게 사용하기 쉽지않음

그래서 ArrayList가 제공된다. ArrayList는 collections Framework에서 제공된다.







ArrayList

import java.util.*;
class Main {
  public static void main(String[] args) {
    String[] arrayObj = new String[2];
    arrayObj[0] = "one";
    arrayObj[1]= "two";

    for(int i=0;i<arrayObj.length;i++){
      System.out.println(arrayObj[i]);
    }




//어떠한 type도 담을 수 있다.  (1)
  ArrayList al2= new ArrayList();
    al2.add("haha");
    al2.add(1);

    for(int i=0;i<al2.size();i++){
      System.out.println(al2.get(i));
    }
    
    
    
    //타입 지정 가능  (2)
    ArrayList <String> al= new ArrayList<String>();
    al.add("one");
    al.add("two");
    al.add("three");
    for(int i=0;i<al.size();i++){
      System.out.println(al.get(i));
    }


    
  }
}





(1) 어떠한 타입도 담을 수 있다.

arraylist에는 object데이터 타입을 담을 수 있다는 말이다.
그래서 al2.add(" "); 이 부분에서 add의 인자가 Object여야한다.

 ArrayList al2= new ArrayList();
    al2.add("haha");
    al2.add(1);
    al2.add("peach");

    for(int i=0;i<al2.size();i++){
      String temp=al2.get(i);
      System.out.println(temp);
    }





위의 코드의 결과???????는 에러가 난다. 왜냐햐면 al의 원소들은 object인데 String인 temp변수에 담으려 했기때문..

그래서 이건 좀 타입 안정성이 떨어짐.
해결방법은 제네릭 방식을 쓰는거다.











(2) 제네릭 방식

타입 지정해서 쓰면 된다.






이거보고 공부했슴다

0개의 댓글