質問編集履歴

3

初心者アイコンを追加しました

2021/06/30 03:02

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -158,4 +158,6 @@
158
158
 
159
159
  }
160
160
 
161
+
162
+
161
163
  ```

2

誤字を修正

2021/06/30 03:02

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -72,7 +72,7 @@
72
72
 
73
73
 
74
74
 
75
- 日本語の問題になるかもしれませんが、上記の実装とは{}の中を記述するという意味であってますでしょうか?また、下記のコードの何がまちがっているのでしょうか?
75
+ 日本語の問題になるかもしれませんが、上記の実装とは{}の中を記述するという意味であってますでしょうか?また、下記のコードの何が間違っているのでしょうか?
76
76
 
77
77
 
78
78
 

1

コードを追加

2021/06/30 02:02

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -65,3 +65,97 @@
65
65
  実装したLRUキャッシュについて、 キャッシュ使⽤中にキャッシュサイズ変更をする機能を追加せよ。
66
66
 
67
67
  キャッシュサイズの変更は、増減いずれも可能とする。 サイズ変更実⾏後、サイズ増減いずれの場合も正しい動作が維持されること。
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+ 日本語の問題になるかもしれませんが、上記の実装とは{}の中を記述するという意味であってますでしょうか?また、下記のコードのの何がまちがっているのでしょうか?
76
+
77
+
78
+
79
+
80
+
81
+ ```Java
82
+
83
+ package ANS;
84
+
85
+
86
+
87
+ import java.util.LinkedHashMap;
88
+
89
+ import java.util.Map;
90
+
91
+
92
+
93
+ public class LruCache extends LinkedHashMap {
94
+
95
+ int limit;
96
+
97
+ public LruCache(int size) {
98
+
99
+ super();
100
+
101
+ limit = size;
102
+
103
+ }
104
+
105
+ public LruCache(int i, float f, boolean b) { super(i, f, b); }
106
+
107
+
108
+
109
+ protected boolean removeEldestEntry(Map.Entry eldest) {
110
+
111
+ return size() > limit;
112
+
113
+ }
114
+
115
+
116
+
117
+ public static void main(String[] args) {
118
+
119
+ test(new LruCache(16, 0.75f, true));
120
+
121
+ }
122
+
123
+ static void test(Map map) {
124
+
125
+ for (int i = 0; i < limit; i++) {
126
+
127
+ map.put(i, i);
128
+
129
+ }
130
+
131
+ System.out.println(map);
132
+
133
+ map.get(3);
134
+
135
+ map.get(2);
136
+
137
+ System.out.println(map);
138
+
139
+ map.put("a","dataA");
140
+
141
+ map.put("b","dataB");
142
+
143
+ map.put("c","dataC");
144
+
145
+ System.out.println(map);
146
+
147
+ map.get(1);
148
+
149
+ map.get(2);
150
+
151
+ map.get(3);
152
+
153
+ map.get(4);
154
+
155
+ System.out.println(map);
156
+
157
+ }
158
+
159
+ }
160
+
161
+ ```