繁体   English   中英

如何使用字符串参数 s 创建具有参数名称的新 LinkedList?

[英]How can I use a string parameter s to create a new LinkedList with the parameter name?

我正在创建一个包含一些对象的队列列表。 我想创建一个将新队列添加到列表并返回 boolean 的方法。 方法声明中应该有一个 String 参数,它将同名的新队列添加到队列列表中。 我不能使用 String 参数作为新 LinkedList 的标识符,因为它已经定义为 String。 如何使用字符串参数创建这个新的 LinkedList?

public boolean addQueue(String s){

LinkedList<Pcb> s = new LinkedList<Pcb>();

QList.add(s);

return true;

}

我不确定你想要什么如下。 但是您不需要指定要添加的每个列表的名称,您可以使用List.contains()它将使用Object.equals()进行比较。 它将比较列表中的全部内容,更准确地说,它使用Object.hashCode()来实现这一点。 所以,我认为不需要额外的唯一标识符

代码片段

private static List<List<String>> QList = new ArrayList<>();

public static void main(String[] args) {
    addQueue(Arrays.asList("a","b","c"));
    addQueue(Arrays.asList("a","b","c"));
    addQueue(Arrays.asList("c","b","a"));
    addQueue(Arrays.asList("a","c","b"));
    addQueue(Arrays.asList("c","b","a"));

    System.out.println(QList.toString());
}

public static void addQueue(List<String> list){
    if (!QList.contains(list)) {
        QList.add(list);
    }
}

控制台 output

[[a, b, c], [c, b, a], [a, c, b]]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM