일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- javascript image slider
- github deploy
- java 비동기처리
- github ec2 deploy
- 코드포스
- java hashCode
- github CI
- lombok Builder
- equals override
- github action codedeploy
- kotest
- Java lombok
- java CompletableFuture
- list remove
- equals
- github action
- image slider
- Java Wrapper Class
- vanilla js image slider
- SpringBootApplication
- java stream api
- Github action deploy
- AWS Codedeploy
- hashcode override
- c++ 빌드
- Java
- github CI/CD
- stream groupingby
- AliasFor
- Spring Aspect
- Today
- Total
목록Java (6)
기록창고
개인 프로젝트 하던 중, 외부에서 받아온 데이터를 가공해야하는 일이 생겼다. 이런식으로 데이터를 받아온다. { "operatorpvp_roundlost:3:F:infinite": 18, "operatorpvp_headshot:3:8:infinite": 21, "operatorpvp_death:3:A:infinite": 37, "operatorpvp_death:4:1:infinite": 421, .. } 아래는 모든 입력이다. 더보기 { "operatorpvp_roundlost:3:F:infinite": 18, "operatorpvp_headshot:3:8:infinite": 21, "operatorpvp_death:3:A:infinite": 37, "operatorpvp_death:4:1:infinite..
Todo List 웹를 만드는 도중 DB 에서 가져온 데이터를 현재 진행 현황에 맞춰서 분리해서 보여줘야할 때가 있었다. public class TodoDto { private int id; private String title; private String step; } // getter 와 setter 와 constructor는 모두 구현되어있다고 가정한다. DB 쿼리는 전부를 가져오는 쿼리문이였따. SELECT * FROM todo; 쿼리를 step 별로 던지면 안해도 됐을 거 같지만 .... 처음 코드는 모두를 가져와서 iterator를 돌면서 step 에 맞게 list 에 추가했다. List todoList = getList(); // 전부를 가져온다. List doingList = new Arr..
List 에 있는 목록 중 원하는 객체를 삭제하는 방법. 맨 처음에는 가장 간단하게 for문으로 돌리면서 찾아서 삭제를 했다. import java.util.*; public class test { public static void main(String[] args) { List list = new ArrayList(); list.add("A"); list.add("A"); list.add("B"); list.add("C"); list.add("D"); list.add("E"); for(int i=0;i A B C D E 0 1 2 3 4 5 -> 0 1 2 3 4 이렇게 변경되어, i 는 1로 변경된다. 그래서 두번째 A는 발견되지 않고 삭제가 되지 않는다. for(int i=0;i i-- } // B..
이전 Post에서 hashCode를 오버라이드했음에도 불구하고 set의 사이즈가 2로 나왔다. 이유를 HashMap의 getNode 함수에서 찾을 수 있다. public V get(Object key) { HashMap.Node e; return (e = this.getNode(hash(key), key)) == null ? null : e.value; } final HashMap.Node getNode(int hash, Object key) { HashMap.Node[] tab; HashMap.Node first; int n; if ((tab = this.table) != null && (n = tab.length) > 0 && (first = tab[n - 1 & hash]) != null) { Ob..
Map이나 Set에서 key 값을 저장할 때 해쉬를 해서 저장을 한다. hash를 하기 위해서, Object class 안에 있는 hashCode() 라는 함수를 사용합니다. public native int hashCode(); 함수는 이렇게 생겼고 뭔지 모르겠지만, int 값을 반환하는 것을 알 수 있습니다. 그래서 Object 마다 모두 hashCode()를 사용할 수 있고, 실제로 hashCode를 통해 해쉬하는 것을 볼 수 있습니다. 아래 코드는 HashMap에 구현되어있는 코드입니다. put 을 할때 key를 hash하여 넣는 것을 볼 수 있습니다 public V put(K key, V value) { return this.putVal(hash(key), key, value, false, tru..
Static => 정적 멤버 Static 이 붙은 변수나 메소드는 객체가 만들어지기 전에도 호출하여 사용할 수 있다. class A{ public static int staticValue = 10; public static void staticMethod(){ System.out.println("Static Method"); } } public class Main { public static void main(String[] args) { System.out.println(A.staticValue); // 10 A.staticMethod(); // Static Method } } 위처럼 A라는 클래스가 있지만 A라는 클래스를 가지고 만든 객체가 없어도 사용할 수 있다. 그리고 Static Method는 ..