HashMap<Teacher,Student> one = new HashMap<>();//Teacher,student都是自定义的类
one.put(wang,wan);//one.put(Teacher,Student)
应该如何获取hashMap.key我google了发现一些做法但是都没有什么用例如
Teacher[] i = one.keyset().toArray(new Teacher[0]);
我想问一下如何获取key同时可以新定义一个对象来引用key主要我无法解决的是one.keyset().toArray(new Teacher[0])返回的是一个超类,我没有办法强制转化,希望可以给我一点提示或者解决的方法,java新手。
4 回答
Helenr
TA贡献1780条经验 获得超4个赞
toArray方法体中是通过强制类型转化,是根据你传进去的类型进行强转的。你这个new Teacher[0]
就是进行传类型用的,所以为了复用,建议直接写
HashMap<Teacher,Student> map = new HashMap<>();//Teacher,student都是自定义的类
...
Set<Teacher> set = map.keySet();
Teacher[] teachers = set.toArray(new Teacher[set.size()])
这样传进去的数组就会被填充,然后返回,效率高点。
添加回答
举报
0/150
提交
取消