Java/객체지향 65

[객체지향][제네릭스] - Iterator, HashMap과 제네릭스

📖본 포스팅은 '자바의 정석 - 남궁성 저자' 님의 책과 유튜브 강의를 보고 작성되었습니다. https://youtu.be/Ys6rCjVVmGo?list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp [Iterator와 제네릭스] [형변환이 필요 없는 경우의 코드 1] package javajungsuk; import java.util.ArrayList; import java.util.Iterator; public class Java12_2 { public static void main(String[] args) { ArrayList list = new ArrayList(); list.add(new Student("자바왕",1,1)); list.add(new Student("자바짱",1,..

Java/객체지향 2022.02.16

[객체지향][제네릭스] - 25. 제네릭스와 타입변수

📖본 포스팅은 '자바의 정석 - 남궁성 저자' 님의 책과 유튜브 강의를 보고 작성되었습니다. https://youtu.be/VJheFhw_fmU?list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp [타입 변수란?] 클래스를 작성할 때, Object 타입 대신 타입 변수(E)를 선언해서 사용 T 혹은 E를 많이 사용한다. 객체를 생성시, 타입 변수(E) 대신 실제 타입(Tv)을 지정(대입) ArrayList tvList = new ArrayList( ); 타입 변수 대신 실제 타입이 지정되면, 형변환 생략 가능. [실습] package javajungsuk; import java.util.ArrayList; class Tv{} class Audio{} public class Generi..

Java/객체지향 2022.02.14

[객체지향][제네릭스] - 24. 제니릭스란?

https://youtu.be/QcXLiwZPnJQ?list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp 📖본 포스팅은 '자바의 정석 - 남궁성 저자' 님의 책과 유튜브 강의를 보고 작성되었습니다. [제네릭스란?] 컴파일시 타입을 체크해주는 기능이다.. 형변환 에러가 컴파일 에러로 나타날 수 있게 끌어온 것이 제네릭스다. 객체의 타입 안정성을 높이고 형변환의 번거로움을 줄여준다.(동일 타입만 넣어두기 때문에 형변환이 불필요한 것이다.) [형변환 에러 - 실행 시 발생에러의 경우] package javajungsuk; import java.util.ArrayList; public class GenericTest { public static void main(String[] args) { ..

Java/객체지향 2022.02.14

[객체지향][자바의 정석] - 23. Collections 클래스, 컬렉션 클래스 요약

https://youtu.be/u0pJGFyvrqc?list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp 📖본 포스팅은 '자바의 정석 - 남궁성 저자' 님의 책과 유튜브 강의를 보고 작성되었습니다. 1. Collections란? - 컬렉션을 위한 메서드(static)를 제공한다. 컬렉션 채우기, 복사, 정렬, 검색 - fill( ), copy( ), sort( ), binarySearch( ) 등 컬렉션의 동기화 - synchronizedXXX( ) List syncList = Collections.synchronizedList(new ArrayList(...)); 변경불가 컬렉션 만들기(readOnly) - unmodifiableXXX( ) 싱글톤 컬렉션 만들기 - singletonX..

Java/객체지향 2022.02.13

[객체지향][자바의 정석] - 22. HashMap

https://youtu.be/el6cTtPHVRs?list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp 📖본 포스팅은 '자바의 정석 - 남궁성 저자' 님의 책과 유튜브 강의를 보고 작성되었습니다. 1. HashMap의 주요메서드 2.실습 [HashMap을 사용하여 id와 password를 key와 value를 사용해서 찾는 코드] package javajungsuk; import java.util.HashMap; import java.util.Scanner; public class Ex11_16 { public static void main(String[] args) { HashMap map = new HashMap(); map.put("myId","1234"); map.put("as..

Java/객체지향 2022.02.13

[객체지향][자바의 정석] - 21. TreeSet

https://youtu.be/_4EF-26Ke3o?list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp https://www.youtube.com/watch?v=Kcz-z6xTbgk&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=131 📖본 포스팅은 '자바의 정석 - 남궁성 저자' 님의 책과 유튜브 강의를 보고 작성되었습니다. 1. TreeSet - 범위 탐색, 정렬 이진 탐색 트리(Binary search tree)로 구현 범위 탐색과 정렬에 유리하다. 이진 트리는 모든 노드가 최대 2개의 하위 노드를 갖는다. (0~2개까지의 하위노드) 각 요소(node)가 나무(tree) 형태로 연결(LinkedList의 변형 - 얘는 1개만 그러나 트리셋은 하..

Java/객체지향 2022.02.03

[객체지향][자바의 정석] - 20. HashSet

📖본 포스팅은 '자바의 정석 - 남궁성 저자' 님의 책과 유튜브 강의를 보고 작성되었습니다. [HashSet - 순서가 없고, 중복이 허용되지 않는다.] HashSet Set인터페이스를 구현한 대표적인 컬렉션 클래스 순서를 유지라하면 LinkedHashSet 클래스를 사용하면 된다. TreeSet 범위 검색과 정렬에 유리한 컬렉션 클래스 HashSet보다 데이터 추가, 삭제에 시간이 더 걸린다. [HashSet - 주요메서드] [실습] package javajungsuk; import java.util.Iterator; import java.util.Set; import java.util.*; public class Java11_8_1 { public static void main(String[] arg..

Java/객체지향 2022.01.31

[객체지향][자바의 정석] - 19. Comparator과 Comparable

📖본 포스팅은 '자바의 정석 - 남궁성 저자' 님의 책과 유튜브 강의를 보고 작성되었습니다. [Comparator과 Comparable] Comparator - 기본 정렬기준을 구현하는데 사용 Comparable - 기본 정렬기준 외에 다른 기준으로 정렬하고자할 때 사용 public interface Comparator{ int compare(Object o1, Object o2); // 두 객체를 비교 boolean equals(Object obj); // 이퀄스를 오버라이딩 하라는 뜻 } public interface Comparable{ int compareTo(Object o); //주어진 객체(o)를 자신과 비교 this와 비교 } Compare()와 CompareTo()는 두 객체의 비교결과를..

Java/객체지향 2022.01.31

[객체지향][자바의 정석] - 18. 배열을 다루기 편리한 메서드(static) 제공

[Arrays 배열을 다루기 편리한 메서드(static) 제공] 배열의 출력 - toString( ) 배열의 복사 - copyOf( ), copyOfRange( ) 배열 채우기 - fill( ), setAll( ) 배열의 정렬과 검색 - sort( ), binarySearch( ) 다차원 배열의 출력 - deepToString( ) 다차원 배열 비교 - deepEquals( ) 배열을 List로 변환 - asList(Object ... a) 람다와 스트림 관련 - parallelXXX( ), spliterator( ), stream( ) [출처]

Java/객체지향 2022.01.27

[객체지향][자바의 정석] - 17. Iterator, ListIterator, Enumeration

[Iterator(new)+, ListIterator, Enumeration(old)] 컬렉션에 저장된 데이터를 접근하는 데 사용되는 인터페이스 Enumeration는Iterator의 구버전 ListIterator는 iterator의 접근성을 향상시킨 것(단방향 - > 양방향) 컬렉션에 저장된 요소들을 읽어오는 방법을 표준화한 것(set,map,List) 컬렉션에서 iterator()를 호출해서 iterator를 구현한 객체를 얻어서 사용한다. [실습] package javajungsuk; import java.util.ArrayList; import java.util.Iterator; public class Java11_4_1 { public static void main(String[] args) {..

Java/객체지향 2022.01.27