-3

当我运行这个程序时: -

import java.util.HashMap;
import java.util.LinkedHashSet;
import java.util.Map;

public class try1 {

    public static void main(String args[]) {

        Map<String, Object> props = new HashMap<String, Object>();
        props.putIfAbsent("videos", new LinkedHashSet<String>());
        System.out.println(LinkedHashSet<String>(props.get("videos")).add("video_url");

    }
}

我收到 3 个错误:-

try1.java:14: error: cannot find symbol
        System.out.println(LinkedHashSet<String>(props.get("videos")).add("yoyo"));//.add("video_url");
                           ^
  symbol:   variable LinkedHashSet
  location: class try1
try1.java:14: error: cannot find symbol
        System.out.println(LinkedHashSet<String>(props.get("videos")).add("yoyo"));//.add("video_url");
                                         ^
  symbol:   variable String
  location: class try1
try1.java:14: error: cannot find symbol
        System.out.println(LinkedHashSet<String>(props.get("videos")).add("yoyo"));//.add("video_url");
                                                                     ^
      symbol:   method add(String)
      location: class Object
    3 errors

我正在尝试将 HashMap 值用作 LinkedHashSet,但出现这些错误。我该怎么办?

4

3 回答 3

1

您的语法有错误,首先您需要将对象转换为 LinkedHashSet,然后向其中添加一个字符串

   System.out.println( ((LinkedHashSet<String>)(props.get("videos")) ).add("video_url") );
于 2017-04-18T06:15:07.990 回答
1

我猜你想使用 java.util.LinkedList 作为 Map 的值。

Map<String, List<String>> props = new HashMap<>();
props.putIfAbsent("videos", new LinkedList<String>());
props.get("videos").add("video_url");
System.out.println(props);

但是,如果您想使用与 put order 相同的 order 迭代的 map。

Map<String, String> props = new LinkedHashMap<>();
props.putIfAbsent("videos", "video_url");
System.out.println(props);
于 2017-04-18T06:18:17.060 回答
-2

正确的代码如下所示:

public static void main(String[] args) {
        Map<String, Object> props = new HashMap<String, Object>();
        props.putIfAbsent("videos", new LinkedHashSet<String>());
        System.out.println(((LinkedHashSet)(props.get("videos"))).add("video_url"));
    }
于 2017-04-18T06:12:52.180 回答