정보보안공부

Java2_day06 본문

Language/Java2

Java2_day06

Steady_sp 2017. 3. 17. 01:34

***참고자료***

 

 

*** n01.list_ex - LinkedEx

 

 

-> ArrayList 와 LinkedList

 

*** n01.list_ex - ArrayListEx

 

 

-> List<String> list = new ArrayList<String>();

-> List<String> list = new LinkedList<String>();

-> List<String> list = new Vector<String>(); 셋다 같은표현이다

-> list.add(); add()안에 추가하고 싶은 단어를 입력한다.

-> int size = list.size(); list의 크기를 size변수에 대입한다.

-> String s = list.get(2); list의 2번 인덱스 값을 가져와 s에 대입한다.

-> for(i=0;i<list.size();i++) { String str = list.get(i); System.out.println(i + ":" + str); }

-> int i = 0; for(String str : list) System.out.println(i++ + ":" + str); 위와 같은표현

-> String s = list.remove(2); list의 2번 인덱스를 제거한다.

-> System.out.println("삭제한 데이터는 " + r + "입니다.!"); 로 삭제한 데이터 표시

-> if(list.remove("python")) System.out.println("데이터를 삭제하였습니다.")

    else System.out.println("삭제할 데이터가 없습니다."); list에 python이 있으면

    데이터삭제 문구 출력 python이 없으면 삭제할 데이터가 없습니다 문구 출력

-> list.forEach ( new Consumer <String>() { public void accept(String s) {

    System.out.println(s); } }); list의 원소 순서대로 출력

-> list.forEach (ss -> System.out.println(ss) ); list의 원소 순서대로 출력

 

*** n02.set_ex - HashSetEx1

 

 

-> Set<String> set = new HashSet<String>();

-> set.add(); add()안에 추가하고싶은 단어 입력한다.

-> int size = set.size(); set의 크기를 size변수에 대입한다.

-> for(String element : set) System.out.println("\t" + element);

    set의 원소를 순서없이 중복한 문자는 1번만 출력

-> Iterator <String> iterator = set.iterator();

    iterator역할 set이 순서가 없지만 set에 있는 내용을 접근할 수 있도록 해준다.

-> while(iterator.hasNext()) { //hasNext() : 데이터가 있는동안 while문 계속 실행

        String element = iterator.Next(); Next로 iterator에 있는 원소뽑아낸다.

        System.out.println("\t" + element); set의 원소를 출력

-> set.clear(); 로 set 초기화

-> if(set.isEmpty()) { System.out.println("비어 있음"); }set이 비어있으면비어있음출력

 

*** n02.set_ex - HashSetEx2

 

 

-> Set<Member> set = new HashSet<Member>();

-> set.add(new Member("홍길동", 30));

-> set.add(new Member("홍길동", 30));

-> System.out.println("총 객체수 " + set.size()); 총 객체수는 2이다.

-> Member에서 equals메소드와 hashCode메소드 정의하면 총 객체수는 1이다.

-> for(Member m : set) System.out.println(m.hashCode()); set의 원소의 주소값출력

 

*** n02.set_ex - Member

 

 

-> Set에서 사용될 클래스는 반드시 equals(), hashCode() 두개의 메소드 재정의한다.

-> public boolean equals(Object obj)    { if( obj instanceof Member);

    Member m = (Member) obj; if(m.name.equals(name) && m.age == age)

    return true; } return false; } equals메소드 재정의

-> public int hashCode() { return this.name.hashCode()+age; }

    hashCode()메소드 재정의

'Language > Java2' 카테고리의 다른 글

Java2_day08  (0) 2017.03.21
Java2_day07  (0) 2017.03.18
Java2_day05  (0) 2017.03.16
Java2_day04  (0) 2017.03.16
Java2_day03  (0) 2017.03.14
Comments