Map charMap2 = new HashMap(); charMap2 = charMap.entrySet().stream() .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())) .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue, // key가 충돌할때 어떤 key를 선택할지 LinkedHashMap::new)); // LinkedHashMap으로 생성해야 순서가 유지됨
Java HashTable 을 구현해 보았다. Key 충돌 알고리즘은 Chaining 리스트를 통해서 해결했다. package com.study; import java.util.LinkedList; class HashTable { LinkedList[] data; public HashTable(int size) { this.data = new LinkedList[size]; } int getHashCode(String key) { int hashCode = 0; for(char c : key.toCharArray()) { hashCode += c; } return hashCode; } int convertToIndex(int hashCode) { return hashCode % data.length; }..
JSON.stringify 하지 않고, 하위 오브젝트가 [Object]로 표시되는 것을 방지하는 방법이 있다. 원래 console.log는 자동으로 오브젝트를 인식하는 반면, console.dir은 오브젝트 전용이다. 이때 2번째 파라메터는 옵션을 받는데 여기서 depth: null로 주면, 무한대의 하위 오브젝트에 대해서 [Object]로 나오는 것을 방지해주고 실제 오브젝트가 문자열로 표시된다. console.dir(myObject, {depth: null})
Java 8 설치Java 8 설치 이유 : Spring 연동 gradle 버전은 Java 9를 찾지 못한다. Apache Tomcat 8.5 다운로드안정버전인 8.5를 다운로드후 적절한 위치에 압축을 풀어놓자. 프로젝트 생성(Spring Initializr)[New Project] - [Spring initializr] 를 선택하여 프로젝트 생성을 시작한다. 이때, 자바 버전을 1.8 정도로 선택하자. Artifact에 프로젝트 명을 입력하고 Type에서 [Gradle Project]를 선택, Packaging에서는 [War]를 선택한다. 프로젝트 설정에서 다음과 같이 선택한다. (DB는 추후에 설정하고, Web과 REST API만 사용하게 설정)WebThymeleaf - 이것을 선택한 이유는 Sprin..
- Total
- Today
- Yesterday