Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.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 哈希集数据类型_Java - Fatal编程技术网

Java 哈希集数据类型

Java 哈希集数据类型,java,Java,如何声明使用double作为数据类型的耳机 public HashSet priceSet() { Set<double> hSet = new HashSet<double>(); //<==== netbeans warn this line for (Map.Entry<String, Tablet> entry : tableMap.entrySet()) { hSet.add(entry.getVal

如何声明使用double作为数据类型的耳机

public HashSet priceSet() {
    Set<double> hSet = new HashSet<double>();  //<==== netbeans warn this line
    for (Map.Entry<String, Tablet> entry : tableMap.entrySet()) {     
        hSet.add(entry.getValue());
    }        

    return (HashSet) hSet;
}
public HashSet priceSet(){

Set hSet=newhashset();//应该是
Double
而不是
Double
Double
是基本类型,
Double
Double

的包装类,应该是
Double
而不是
Double
Double
是基本类型,
Double
的包装类rapper class
Double
而不是
Double
。这不会影响实际代码,但这是创建通用数据集的常用方法。

使用包装类
Double
而不是
Double
。这不会影响实际代码,但却是创建通用数据集的常用方法。

集合用于存储objects,而不是原语。所以你应该使用包装器来使用原语,比如

Set<Double> hSet = new HashSet<Double>();
但是
entry.getValue()
Tablet
,因此您似乎需要使用类似

hSet.add((Double)entry.getValue().getValue());

edit2实际上
(Double)
不是必需的

集合用于存储对象,而不是原语。因此,您应该使用包装器将其用于原语,如

Set<Double> hSet = new HashSet<Double>();
但是
entry.getValue()
Tablet
,因此您似乎需要使用类似

hSet.add((Double)entry.getValue().getValue());

edit2实际上
(Double)
没有必要

旁注:将平板电脑实例放在一组Double中不会起作用。您可以使用新的HashSet(tableMap.values())(或Set.addAll方法)将另一个集合的所有元素复制到Set.entry.getValue()中是该对象的双精度值。No.entry.getValue()返回条目的值,它是一个Tablet。您需要entry.getValue().getValue()。您还可以迭代映射的值,而不是迭代映射的条目,因为您不需要对条目的键执行任何操作。好的,谢谢,问题已经解决。应该是getValue().getPrice();旁注:将Tablet实例放在一组double中不起作用。您可以使用新的HashSet(tableMap.values())(或Set.addAll方法)将另一个集合的所有元素复制到集合中。entry.getValue()是该对象的双精度值。Nope.entry.getValue()返回条目的值,它是一个Tablet。您需要entry.getValue().getValue()。您也可以对地图的值进行迭代,而不是对其条目进行迭代,因为您不使用条目的键执行任何操作。好的,谢谢,问题已解决。应该是getValue().getPrice();但是使用Double此行将被警告hSet.add(entry.getValue());请参阅我对您答案的评论。您试图将Tablet实例放入一组双精度中。显然,这不起作用。Tablet不是双精度的。是否将沙拉放入鸡蛋盒中?但使用双精度此行将被警告hSet.add(entry.getValue());请参阅我对您答案的评论。您试图将Tablet实例放入一组Double中。显然,这不起作用。Tablet不是Double。您是否将沙拉放入鸡蛋盒中?但使用Double此行将被警告hSet.add(entry.getValue());,如何修复此行?但使用Double此行将被警告hSet.add(entry.getValue());怎么修这条线?