Array
String [] stringArray 와 같이 정의
연속한 메모리 공간.
각각 하나하나에 들어가는 동일한 연속된 공간 이런것들은 어레이라 한다. . . . .
메모리가 연속해서 존재한다.
자바에서 array 는 변수의 array
Person[] p = new person[10]
person 변수 10개를 연속해서 만들겠다는 의미.
그래서 객체가 아니라 변수다.
변수를 만든거지 객체를 할당한것이아니다.
array를 만드는방법은 여러가지가 있다.
public void m(String... s){// 이 파라미터는 가변처리를 할 수 있다.
}
hash
일단 저장공간을 크게 만들어서 hash(object)함수를 실행시켜서 만들어지는 숫자(메모리 주소)를 가지고 데이터를 넣어놓는다.
object를 가지고 hash를 돌리면 항상 그 숫자가 나와서 갟수가 n개 여도 빨리 찾을 수 있다. 오더러블1.
빠르게 찾느게 자바의 성능의 핵심이다.
최대한 분산되게 분포해야 제대로 퍼포먼스의 영향이 있다.
Collection Interface
객체들ㅇ의 모임을 저장하기 위해 공통적 행위들을 선언.
개별적인 ㅇ소들을 모아 놓은 것
맵은 key value형식으로 구성되는 객체들을 모아놓은 구조.
연관 배열이라고도 함.
iterator interface 예전에는 잘 쓰였는데 지금은 잘 안씀.
List<String> items = new ArrayList<>();
한번씩 써보는 것도 좋겠다. ...
콜렉션이 가지고 있는 데이터를 array로 바꿀때는
int [] x = a.toArray(new Integer[a.size()]);
이렇게 하면 배열로 바뀐다.
List
Collection 의 하위 인터페이스
인터페이스도 extends된다.
데이터도 null 넣을 수 있다.
List<String> items;
int getCount(){
return (items=null)?:items.size();
}
null 체크 안하려면 처음부터 = new ArrayList();
객체 만들어 놓고 쓴다. 낭비지만 크지않다.
분기문이 많으면 안좋은코드 내가 안좋은 코드 분기문 개많이 나온다.
'AdvancedJava' 카테고리의 다른 글
[3일차] IO (0) | 2016.07.07 |
---|---|
[3일차] list 실습 (0) | 2016.07.07 |
[3일차] 제네릭 (0) | 2016.07.07 |
[3일차] 어노테이션 실습 (0) | 2016.07.07 |
[3일차] 어노테이션 (0) | 2016.07.07 |