Java 如何为不同的集合数据类型创建一个方法?

Java 如何为不同的集合数据类型创建一个方法?,java,android,Java,Android,我所拥有的: Type dogType = new TypeToken<ArrayList<Dog>>() {}.getType(); ArrayList<Dog> dogList = context.deserialize(jsonObject.get("dog"), dogType); HashMap dogMap=new HashMap(); for (int i=0; i<dogList.size(); i++) { Dog item =

我所拥有的:

Type dogType = new TypeToken<ArrayList<Dog>>() {}.getType();
ArrayList<Dog> dogList = context.deserialize(jsonObject.get("dog"), dogType);
HashMap dogMap=new HashMap();
for (int i=0; i<dogList.size(); i++) {
    Dog item = dogList.get(i);
    dogMap.put(item.getId(), item);
}
home.setDogs(dogMap);
typedogtype=newtypetoken(){}.getType();
ArrayList dogList=context.deserialize(jsonObject.get(“dog”),dogType);
HashMap dogMap=新HashMap();
对于(int i=0;i list=context.deserialize(jsonObject.get(name),new-TypeToken(){}.getType());
HashMap=newHashMap();

对于(inti=0;ii如果您的类扩展了某个父类或实现了某个接口(例如,Animal),请使用通配符:
list顺便说一句,也不建议返回方法的具体实现,因为它会破坏“接口上的程序,而不是实现”规则。我们需要更多关于
Dog
类层次结构的详细信息。
getId()
在哪里定义?还有,
上下文是什么?
主页是什么?
setDogs()
方法接受什么类型?
home.setDogs(getMap(jsonObject, "dog", Dog.class));

private HashMap<???> getMap(JSONObject jsonObject, String name, ??? type) {
    ArrayList<???> list = context.deserialize(jsonObject.get(name), new TypeToken<ArrayList<type>>() {}.getType());
    HashMap map=new HashMap();
    for (int i=0; i<list.size(); i++) {
        ??? item = list.get(i);
        map.put(item.getId(), item);
    }
    return map;
}