Java Map 키를 기준으로 인스턴스 코드 정렬
때때로 우리가 업무상 맵 안의 값을 키의 크기에 따라 정렬해야 할 때 우리는 다음과 같은 방법을 이용하여 정렬할 수 있다.
package test;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
public class Demo {
private HashMap<Integer, Object> map =new HashMap<Integer, Object>();
private Set<Integer> keySet = map.keySet();
public Object get(Integer key) {
return map.get(key);
}
public void put(Integer key, Object value) {
map.put(key, value);
}
@SuppressWarnings("unchecked")
public void sort() {
List<Integer> list =new ArrayList<Integer>(map.keySet());
Collections.sort(list, new Comparator<Object>(){
public int compare(Object a, Object b) {
return a.toString().toLowerCase().compareTo(b.toString().toLowerCase());
}
});
this.keySet = new TreeSet<Integer>(list);
}
public Set<Integer> keySet() {
return this.key
}
public static void main(String [] args){
Demo map= new Demo();
map.put(11, " ");
map.put(12, " ");
map.put(13, " ");
map.put(10, " ");
map.put(1, " ");
map.put(8, " ");
map.put(9, " ");
map.put(7, " ");
map.put(5, " ");
map.put(6, " ");
map.put(4, " ");
map.put(3, " ");
map.put(2, " ");
System.out.println(" ");
for (Iterator it =map.keySet().iterator();it.hasNext();){
Integer key= (Integer)it.next();
System.out.println( "key[ " + key + "], value[ " + map.get(key) + "] ");
}
//
System.out.println(" ");
System.out.println( "
");
map.sort();
for (Iterator it=map.keySet().iterator();it.hasNext();) {
Integer key=(Integer)it.next();
System.out.println( "key[ " + key + "], value[ " + map.get(key) + "] ");
}
}
}
실행 효과는 다음과 같습니다.
key[ 1], value[ ]
key[ 2], value[ ]
key[ 3], value[ ]
key[ 4], value[ ]
key[ 5], value[ ]
key[ 6], value[ ]
key[ 7], value[ ]
key[ 8], value[ ]
key[ 9], value[ ]
key[ 10], value[ ]
key[ 11], value[ ]
key[ 12], value[ ]
key[ 13], value[ ]
key[ 1], value[ ]
key[ 2], value[ ]
key[ 3], value[ ]
key[ 4], value[ ]
key[ 5], value[ ]
key[ 6], value[ ]
key[ 7], value[ ]
key[ 8], value[ ]
key[ 9], value[ ]
key[ 10], value[ ]
key[ 11], value[ ]
key[ 12], value[ ]
key[ 13], value[ ]
읽어주셔서 감사합니다. 여러분에게 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.