Array, List, Map정렬 등
Array 정렬 (int[], String[], ...)
Arrays.sort([[Array]]); |
Array 정렬 (Class 또는 특수 조건)
Value[] values = [[values 생성]];Arrays.sort(values, new Comparator @Override public int compare(Value value0, Value value1) { return value0.getString().compareTo(value1.getString()); // if (value0.getInt() < value1.getInt()) { // return 1; // } else if (value0.getInt() > value1.getInt()) { // return -1; // } else { // return 0; // } }}); |
List 정렬 (List, List, ...)
Collections.sort([[List]]); |
List 정렬 (Class 또는 특수 조건)
ListCollections.sort(values, new Comparator @Override public int compare(Value value0, Value value1) { // return value0.getString().compareTo(value1.getString()); // if (value0.getInt() < value1.getInt()) { // return 1; // } else if (value0.getInt() > value1.getInt()) { // return -1; // } else { // return 0; // } }}); |
Key와 Value List로 이루어진 Map 만들기
private Map...public void load() { valuesPerKey = new HashMap<>(); ... while ([[key와 value가 존재할 때]]) { [[key와 value 얻기]] List<[[Value]]> values = valuesPerKey.get(key); if (values == null) { values = new ArrayList<>(); valuesPerKey.put(key, values); } values.add(value); } ...} |
Map을 Key 순서로 정렬한 List 만들기
MapList<[[KeyValuePairDTO]]> pairs = new ArrayList<>();String[] keys = map.keySet().toArray(new String[0]);Arrays.sort(keys);for (String keyx: keys) pairs.add(new [[KeyValuePairDTO]](keyx, ([[Value]])map.get(keyx))); |
KeyValuePair List의 Binary Search
Collections의 Binary Search를 사용하려면 KeyValuePair List는 반드시 먼저 정렬되어 있어야 함// Collections의 Binary Search를 사용하려면 KeyValuePair List는 반드시 먼저 정렬되어 있어야 함List<[[KeyValuePairDTO]]> values = ...;int index = Collections.binarySearch(values, new [[KeyValuePairDTO]](code), new Comparator<[[KeyValuePairDTO]]>() { @Override public int compare([[KeyValuePairDTO]] v1, [[KeyValuePairDTO]] v2) { return v1.getKey().compareTo(v2.getKey()); }});if (index >= 0) { [[KeyValuePairDTO]] value = values.get(index); ...} else { ...} |
댓글
댓글 쓰기