Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将对象强制转换为HashMap_Java_Object_Hashmap - Fatal编程技术网

Java 将对象强制转换为HashMap

Java 将对象强制转换为HashMap,java,object,hashmap,Java,Object,Hashmap,我在计算HashMap中的值实例时遇到了问题。 我已经看到有一些附加到对象类的方法看起来似乎能够帮助我,所以我尝试将它们转换为工作方法,但我肯定在某个地方做错了什么 如果有更简单的方法,我还没有找到。注意:图书馆是我的HashMap 你在看哪个医生?for Hashmap没有指定countValues()方法 我认为您需要一个HashMap,因此您可以为每个学生存储一个图书列表(如果我正确阅读了您的代码) 您必须为每个学生创建一个列表,并将其放入HashMap中,然后您可以使用list.size

我在计算HashMap中的值实例时遇到了问题。 我已经看到有一些附加到对象类的方法看起来似乎能够帮助我,所以我尝试将它们转换为工作方法,但我肯定在某个地方做错了什么

如果有更简单的方法,我还没有找到。注意:图书馆是我的HashMap


你在看哪个医生?for Hashmap没有指定countValues()方法

我认为您需要一个
HashMap
,因此您可以为每个学生存储一个图书列表(如果我正确阅读了您的代码)

您必须为每个学生创建一个列表,并将其放入HashMap中,然后您可以使用list.size()简单地计算列表中的条目

e、 g

if(Library.get(id)==null){
put(id,newarraylist());
}
List books=Library.get(id);
int number=books.size()//为您提供大小

忽略线程等。

您正在查看哪个文档?for Hashmap没有指定countValues()方法

我认为您需要一个
HashMap
,因此您可以为每个学生存储一个图书列表(如果我正确阅读了您的代码)

您必须为每个学生创建一个列表,并将其放入HashMap中,然后您可以使用list.size()简单地计算列表中的条目

e、 g

if(Library.get(id)==null){
put(id,newarraylist());
}
List books=Library.get(id);
int number=books.size()//为您提供大小

忽略线程等。

首先:
对象投射任何东西(几乎)都没有意义。由于所有内容都扩展了
对象
,因此始终可以访问这些方法而无需强制转换

Second:您强制执行的方式实际上是强制执行返回值,而不是库。如果您正在进行一个真正必要的转换,则需要一组额外的括号:

if(((Object)Library).countValues(sid) != 5)
Third:
HashMap
Object
中都没有
countValues
方法。你得自己做

这是要使用的一般算法(我不太愿意发布代码,因为这看起来像是家庭作业):


首先:
对象投出任何东西(几乎)都没有意义。由于所有内容都扩展了
对象
,因此始终可以访问这些方法而无需强制转换

Second:您强制执行的方式实际上是强制执行返回值,而不是库。如果您正在进行一个真正必要的转换,则需要一组额外的括号:

if(((Object)Library).countValues(sid) != 5)
Third:
HashMap
Object
中都没有
countValues
方法。你得自己做

这是要使用的一般算法(我不太愿意发布代码,因为这看起来像是家庭作业):

int count=0;
对于(字符串str:Library.values())
{
如果(str==sid)
计数++;
如果(计数=5)
打破
}
如果(计数小于5)
Library.put(id,sid);
其他的
System.out.println(“您已经超出了配额。在取出一本书之前,请先归还一本书。”);
int count=0;
对于(字符串str:Library.values())
{
如果(str==sid)
计数++;
如果(计数=5)
打破
}
如果(计数小于5)
Library.put(id,sid);
其他的
System.out.println(“您已经超出了配额。在取出一本书之前,请先归还一本书。”);

如何定义库?看起来这些值是学生ID字符串?关键是什么?如何定义库?看起来这些值是学生ID字符串?关键是什么?
if(((Object)Library).countValues(sid) != 5)
initialize count to 0
for each entry in Library:
    if the value is what you want:
        increment the count
int count = 0;

for(String str : Library.values())
{
    if(str == sid)
        count++;
    if(count == 5)
        break;
}

if(count < 5)
    Library.put(id, sid);
else
    System.out.println("You have exceeded your quota. Return a book before you take one out." );