일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Thymeleaf
- JDBC
- 스프링 핵심 원리
- JPQL
- 자바
- Spring Boot
- SpringBoot
- QueryDSL
- 김영한
- transaction
- Exception
- Android
- db
- springdatajpa
- http
- Proxy
- 그리디
- Servlet
- kotlin
- 스프링
- 백준
- pointcut
- AOP
- 인프런
- java
- 스프링 핵심 기능
- jpa
- Greedy
- spring
- 알고리즘
- Today
- Total
목록Java/자료구조 (19)
개발자되기 프로젝트
1. HashMap class Map인터페이스를 구현한 클래스 가장 많이 사용되는 Map 인터페이스 클래스 key - value의 pair로 관리하는 메서드를 구현함 검색을 위한 자료구조 key를 이용하여 값을 지정, key를 사용하여 값을 가져옴. - hash 알고지름으로 구현됨. key 가 되는 객체는 중복될 수 없고, 객체의 유일성 비교를 위한 equals(), hashCode() 구현 필요. HashTable을 collision이 발생할 수 있다. Hash함수에 의해 Key값에 대한 index가 반환되는데, 다른 key값이어도 같은index 반환 가능함.. 그래서 HashTable을 꽉채워서 쓰지는 않음. 2. HashMap 사용 2.1 MemberHashMap public class Member..
1. TreeSet 활용 객체의 정렬에 사용 Set인터페이스를 구현하여 중복을 허용하지 않음. 오름차순이나 내림차순으로 정렬 가능 binary Search Tree로 구현됨 비교 대상이 되는 객체에 Comparable 이나 Comparator 인터페이스를 구현해야 TreeSet에 추가 가능 String, Integer등 많은 클래스가 이미 Comparable 구현해둠 Element가 추가될 때 마다 기존에 있는 element와 비교를 어떻게 할것인지를 정의해 줘야함 HashSet의 경우 element가 추가될 때 마다 기존의 element와 동일한지 check한 것과 같은 맥락 HashSet -> equals(), hashCode() TreeSet을 사용하기 위해서는 해당 클래스에 Comparable o..
1. HashSet클래스 Set인터페이스를 구현한 클래스와 멤버의 중복 여부를 체크하기 위해 인스턴스의 동일성을 확인해야함 동일성 구현을 위해 필요에 따라 equals()와 hashCode()메서드를 재정의 2. HahsSet 활용 앞 글에서 사용한 ArrayList를 HashSet으로 변경해보자. public class MemberHashSet { private HashSet hashSet; public MemberHashSet() { hashSet = new HashSet(); } public MemberHashSet(int size) { hashSet = new HashSet(size); } public void addMember(Member member){ hashSet.add(member); }..
1. 요소의 순회? collection framework에 저장된 요소를 하나씩 참조하는 것. 순서가 있는 List인터페이스의 경우 Iterator를 사요하지 않고 바로 get(index)가능. Set 인터페이스의 경우 get(index)가 제공되지 않기 때문에 , ieterator를 활용해야함. 2. Iterator 사용하기 boolean hasNext() : 다음 있음? E next(): 다음에 있는 요소 반환. collection에서 iterator()를 꺼내서 사용하면 됨. 커서(?)는 맨~ 앞에 있음. index=0 보다 앞에있다고 보면 됨. public boolean removeMember(int memberId){ Iterator iterator = arrayList.iterator(); w..
1. ArrayList 활용 Member 순차적 관리 2. Member public class Member { private int memberId; private String memberName; public Member(int memberId, String memberName) { this.memberId = memberId; this.memberName = memberName; } public int getMemberId() { return memberId; } public void setMemberId(int memberId) { this.memberId = memberId; } public String getMemberName() { return memberName; } public void s..
1. 컬렉션 프레임워크 DataStructure를 구현해 놓은 JDK 라이브러리 java.utill 패키지에 구현해둠 2. Collection 인터페이스 하나의 객체를 관리하기 위한 메서드가 선언된 인터페이스의 하위에 List와 Set 인터페이스가 있음 3. List 인터페이스 객체를 순서에 따라 저장하고 관리하는데 필요한 메서드가 선언된 인터페이스 자료구조 리스트 (배열, 연결리스트)의 구현을 위한 인터페이스 중복을 허용함 ArrayList, Vector, LinkedList, Stack, Queue 등... 4. Set 인터페이스 순서와 관계없이 중복을 허용하지 않고 유일한 값을 관리하는데 필요한 메서드가 선언됨 아이디, 주민번호, 사번등을 관리하는데 유용 저장된 순서와 출력되는 순서는 다를 수 있음..
1. Generic Method 자료형 매개변수를 메서드의 매개변수나 변환 값으로 가지는 메서드는 자료형 매개변수가 하나 이상인 경우도 있음. Generic class가 아니어도 내부에 generic method는 구현해서 사용이 가능. puiblic 반환형 method 이름(자료형 매개변수..){ } 2. Generic Method 활용 두 점이 주어지면 두 점을 대각선으로 하는 직사각형의 넓이를 구해보자. 2.1 Point Point는 Integer, Double로 구성된다. public class Point { T x; V y; public Point() { } public Point(T x, V y) { this.x = x; this.y = y; } public T getX() { return x..
1. 상위 클래스의 필요성 T 자료형의 범위 제한이 필요함. 상위 클래스에서 선언하거나 정의하는 메서드 활용 가능. 상속 받지 않는 경우 T는 Object로 변환되어 Object가 기본으로 제공하는 메서드만 사용 가능. 2. T extends 사용 T에 무작위 클래스가 들어갈 수 없게 한정시키자. 이전 글에서 material로 Powder와 Plastic을 사용했는데, Material 추상 클래스를 만들고 Powder와 Plastic이 상속받도록 하자. public class GenericPrinter { private T material; ... } Material이 아닌 다른 타입을 넣으려고 시도하면 불가능하다고 알려준다. ㅋㅋ 3. GitHub : GitHub - bsh6463/dataStructu..