Backend/java

배열이란 무엇인가.

IT grow. 2018. 8. 3. 14:47
반응형

배열 : 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것.


사용법 : 배열생성 --> 초기화 

 String [] names = new String[3];

 int [] index = new int[3];


--> names는 String 배열 저장 공간으로 써 각각의 주소방에는 null값으로 초기화가 된다.

--> index는 int 배열 저장 공간으로써 각각의 주소방에는 0값으로 초기화가 된다.


배열 : 모두 참조형이다 .

( Ex ) : int [] I ;- à  int형의 배열이다 . , 연속된 저장공간에 위치하게 된다 à 그렇기 때문에 읽는 속도가 굉장히 빠르다 .

 

Int [] I = new int[5] ; // type 선언이다 .

 

Int 형은 default 0으로 초기화가 된다 ( JVM 내에서 )  à 0번째 , 1번째 , 2번째 , 3번째, 4번째

                                                                             I[0]   , i[1]   ,  i[2]  , i[3]  , I[4]

                                                                         

 

String [] names = new String[3]; // String type으로 3개의 방을 만드시오 à [0][1][2]

String [] 배열은 주소값을 null로 초기화 시킨다 à [0][1][2]

String [] 배열과 int[]배열을 헷갈리지 않게 선언하고 구별해서 사용하자 .

 

돗트 ( . ) = String 형태인 주소값에 대해서는 가능하다

But int 형태인 주소값에 대해서는 불가능하다  / 가르키는 곳이 있으면 돗트 ( . ) 사용가능하다 .

 

String 배열로 선언된 변수에 대해서 length vs String 배열로 선언된 저장공간 [x] length


String 변수에 돗트 ( .) 를 쓰게 되면 전체 String 변수에 대해서이고 ( 변수에 대한 length )

String[x].length() : String[x]에 특정 문자열의 길이를 나타낸다 . 이 때는 Method()의 기능으로서 length()를 써준다 .

주로 배열을 쓰게 되면 나타나는 Exception

 ArrayIndexOutOfBoundsException 오류가 나타남.

 

배열에서 가르키는 곳이 없다면 Exception 처리가 발생한다 .

Exception à java.lang.NullPointerException 오류가 나타남.


 String 배열에서 특정한 문자열을 뽑아 오고 싶을 경우 

substring ( x ) : 주소값 x 부터 뽑아온다 .

substring ( x , y ) : 주소값 x 부터 y미만으로 뽑아온다.

 

배열은 초기 선언을 해 놓으면 추가 or 삭제 or 변경을 못한다 à 리사이징은 못한다

 

메모리확인 하는 방법 : 궁금한 라인 클릭 후 토클 선택 하고 , 거미 누르면 된다 .

 

Java API 에서는 배열을 복사해주는 메소드가 있다 .

è System.arraycopy(src, srcPos, dest, destPos, length);

 



반응형