Java
20.06.04 Java_List
우롱차
2020. 8. 31. 11:06
728x90
-
com.biz.list : 3단계 패키지, Base Package
-
com.biz.list.exec : 4단계 패키지, 업무적인 분류를 나타내는 package
// Random 클래스를 사용해서 뭔가 수행을 하기 위한 준비
// 클래스
// Random클래스의 인스턴스(Instance), 객체(object) : rnd << = 줄여서 많이 사용 보통 random이라 지음
// rnd 인스턴스를 사용가능하도록 초기화
// rnd 인스턴스를 초기화 하겠다라는 키워드 : new
// 생성자(Constructor) method : Random()
Random rnd = new Random(); //일종의 메서드 클래스하고 이름이 같은데 new 라는 키워드가 붙은 메서드를 부르는 이름이 따로 있음
// Random 클래스를 사용해서 rnd 인스턴스를 선언하고
// Random() 생성자를 호출하여 rnd 인스턴스를 초기화(새로 만들기 new)하라
클래스
Random클래스의 인스턴스(Instance), 객체(object) : rnd << = 줄여서 많이 사용 보통 random이라 지음
rnd 인스턴스를 사용가능하도록 초기화
rnd 인스턴스를 초기화 하겠다라는 키워드 : new
생성자(Constructor) method : Random()
Random rnd = new Random();
/*
* 다른 클래스와 좀 색다르게 선언하는 클래스와 초기화하는 생성자의 이름이 다른 형태를 갖는다.
* 클래스에 <Generic> 키워드를 포함하여 사용을 한다.
* Integer형 데이터를 포함할 intList를 선언하고 초기화 하는 코드
* Integer형 리스트 라고 부른다.
* 자바에서 기본 배열형 데이터를 사용하는데 어려움이 있어서
* JDK에서 제공해주는 도구를 사용하여 많은 개수의 데이터를 관리하기 위한 방법을 제공한다.
*/
List<Integer> intList = new ArrayList<Integer>();
// 리스트를 처음 만들면 size() 값이 0인 데이터가
// 아무것도 없는 리스트가 만들어진다.
intList.add(90); // size() 1인 리스트가 되고 데이터가 1개 추가
intList.add(100); // 리스트를 데이터 개수만큼 추가하여 사용
>>>>>>>> exec > List_01🙂
get 메서드를 변수에 저장하라는 이유
// 리스트에 추가된 100개의 정수중 값이 55가 있으면 출력
for(int i = 0 ; i < 100 ; i++) {
int num = intList.get(i); // get에서 값을 뽑을때는 직접사용하지말고 변수에 값을 복사해놓고 해라!
if(num == 55) {
System.out.println(num);
}
}
* intList.get(i) method를 호출하여 값을 가져오는데
* 몇번 반복해서 실행해도 항상 같은 값이 return될 것이다.
* 그럼에도 불구하고 아래 코드는 같은 일을 두번 실행하여 결과를 얻고 있다.
* 짧은 코드이지만 상당히 비효율적인 코드가 될 수 있다 이런거 하나하나가 성능을 좌우할 수 있음
* intList.get(i) 를 변수에 일단 한번 저장하고 나머지 코드에서 사용을 하자
*
* if(intList.get(i) == 55 ) {
* System.out.println(intList.get(i)
* }
* 이것보다는 위에 있는 코드로 가급적으로 써주는게 좋다.
>>>>>>>> exec > List_04🙂
검색 알고리즘(Search algorithem)
-
리스트(배열)의 처음부터 순차적으로 하나씩 비교하면서
-
값을 찾다가 값이 있으면 위치를 알려주고 검색을 중단하는 방식
-
리스트의 데이터가 무작위(순서가 없이)로 저장되어 있을 때
-
비교적 쉽게 찾을 수 있는 방식
-
하지만 찾고자 하는 값이 제일 마지막 위치에 있을 때는
-
전체 리스트를 모두 비교해야하기때문에 최악의 효율을 보인다.
-
값이 제일 처음에 있을 때는 최고의 효율을 보인다.
>>>>>>>> exec > List_05🙂
728x90