【发布时间】:2018-12-16 06:54:23
【问题描述】:
如何检查我的Input String 是否在我的ArrayList 中?
我是这样做的。但它总是显示"not equal"。尽管我插入了1,例如:
public class Main {
public static void main(String[] args) {
String Input = JOptionPane.showInputDialog("Input:");
ArrayList<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
if (Input.equals(list)) {
JOptionPane.showMessageDialog(null, "equals");
} else {
JOptionPane.showMessageDialog(null, "not equal");
}
}
}
【问题讨论】:
-
list.contains(input); -
如果输入不存在,是否可以将输入添加到数组列表中?
-
在插入之前检查
List是否包含String?但是,如果您不想重复,听起来Set更可取。如果顺序无关紧要,您可以选择HashSet,如果您想使用自然顺序或为您自己指定Comparator,则可以选择TreeSet,或者为维护插入顺序选择LinkedHashSet。 -
请遵守命名约定。像
Input这样的变量名应该总是camelCase。所以请input。 PascalCase 仅用于类名。 -
由于没有研究而被否决。下次请查看documentation。它清楚地解释了
equals“当且仅当指定的对象也是一个列表,两个列表具有相同的大小,并且两个列表中所有对应的元素对都相等时才返回true”。它还表明有一个contains 方法“如果此列表包含指定元素则返回true”。