我正在创建一个队列列表,该列表将容纳一些对象。我想创建一个方法,将一个新队列添加到列表中,并返回一个布尔值。方法声明中应该有一个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);
}
}
控制台输出
[[a,b,c],[c,b,a],[a,c,b]]