GenericsによるMapの実装
2151 ワード
ギネス世界記録を勉強している間に
楽しみとして、Mapを実現しました.
下手なハーモニーですが、面白いです.
楽しみとして、Mapを実現しました.
下手なハーモニーですが、面白いです.
public class GenericsEx {
public static void main(String[] args) {
Map<Integer,String> map = new HashMap<>();
map.put(1, "A");
map.put(2, "B");
map.put(3, "C");
System.out.println(map.toString()); //{1=A, 2=B, 3=C}
MyMap<Integer, String> myMap = new MyMap<>();
myMap.put(1, "A");
myMap.put(2, "B");
myMap.put(3, "C");
System.out.println(myMap.toString()); //{1=A, 2=B, 3=C}
}
}
class MyMap<K, V>{
ArrayList<K> keyArray = new ArrayList<>();
ArrayList<V> valueArray = new ArrayList<>();
public void put(K key, V value){
keyArray.add(key);
valueArray.add(value);
}
public V get(K key){
int index = keyArray.indexOf(key);
return valueArray.get(index);
}
@Override
public String toString() {
String str = "{";
for(int i=0 ; i < keyArray.size(); i++){
str += keyArray.get(i) + "=" + valueArray.get(i);
if (i < keyArray.size() -1 ){
str += ", ";
}
}
str += "}";
return str;
}
}
Reference
この問題について(GenericsによるMapの実装), 我々は、より多くの情報をここで見つけました https://velog.io/@cksdnr066/Generics-를-이용해-Map구현テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol