teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

削除

2015/09/05 14:46

投稿

anonymouskawa
anonymouskawa

スコア856

answer CHANGED
@@ -1,68 +1,1 @@
1
- ```Java
2
- import java.util.ArrayList;
3
- import java.util.Collections;
4
- import java.util.Comparator;
5
- import java.util.HashMap;
6
- import java.util.List;
7
- import java.util.Map;
8
- import java.util.Map.Entry;
9
- import java.util.Random;
10
-
11
- public class Test {
1
+ 方向性が違うようなので、回答は消します
12
- final static Integer WAIT = 50;
13
-
14
- public static void main(String[] args) {
15
-
16
- Map<Integer, Integer> map = new HashMap<Integer, Integer>();
17
-
18
- Random rnd = new Random();
19
- for ( int y = 0; y < 100; y++ ) {
20
- int r = rnd.nextInt(100) + 1;
21
- map.put(new Integer(y),new Integer(r));
22
- }
23
-
24
- List<Map.Entry<Integer,Integer>> entries = shuffle(map);
25
-
26
- System.out.println("重み付け前");
27
- int i = 0;
28
- for (Entry<Integer,Integer> s : entries) {
29
- int r = rnd.nextInt(100) + 1;
30
-
31
- if (i < 10) {
32
-
33
- System.out.println(s.getKey() + ":" + s.getValue());
34
- i++;
35
- map.replace(s.getKey(), new Integer(r + WAIT.intValue()));
36
-
37
- } else {
38
- map.replace(s.getKey(), new Integer(r));
39
- }
40
- }
41
-
42
- List<Map.Entry<Integer,Integer>> entries2 = shuffle(map);
43
-
44
- System.out.println("重み付け後");
45
- i = 0;
46
- for (Entry<Integer,Integer> s : entries2) {
47
- if (i < 10) {
48
- System.out.println(s.getKey() + ":" + s.getValue());
49
- i++;
50
- }
51
- }
52
- }
53
-
54
- public static List<Map.Entry<Integer,Integer>> shuffle(Map<Integer, Integer> map) {
55
- List<Map.Entry<Integer,Integer>> entries = new ArrayList<Map.Entry<Integer,Integer>>(map.entrySet());
56
- Collections.sort(entries, new Comparator<Map.Entry<Integer,Integer>>() {
57
- @Override
58
- public int compare(
59
- Entry<Integer,Integer> entry1, Entry<Integer,Integer> entry2) {
60
- return ((Integer)entry2.getValue()).compareTo((Integer)entry1.getValue());
61
- }
62
- });
63
-
64
- return entries;
65
- }
66
- }
67
- ```
68
- 動作確認はしましたが、ちょっと自身ないっす