我正在创建一个将保存一些对象的队列列表。我想创建一个方法,将新队列添加到列表中并返回一个 boolean 值。方法声明中应该有一个 String 参数,用于将同名的新队列添加到队列列表中。我无法使用 String 参数作为新 LinkedList 的标识符,因为它已经定义为字符串。如何使用字符串参数创建这个新的 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);
}
}
控制台输出
[[a, b, c], [c, b, a], [a, c, b]]
关于java - 如何使用字符串参数 s 来创建带有参数名称的新 LinkedList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58617572/