Java 检查数组元素是否包含特定值的最佳方法
我有一个对象列表,如果该列表包含特定值,则必须搜索该列表。特定值都保存在一个数组中。我应该为下面代码中的Java 检查数组元素是否包含特定值的最佳方法,java,arrays,list,arraylist,contains,Java,Arrays,List,Arraylist,Contains,我有一个对象列表,如果该列表包含特定值,则必须搜索该列表。特定值都保存在一个数组中。我应该为下面代码中的allValuesFromArray设置什么,以便它相应地工作 List<ownClass> objectList; String[] specificValueArray = {"value0","value1","value2","value3"}; for (ownClass object:objectlist){ if (object.getSomeValue()
allValuesFromArray
设置什么,以便它相应地工作
List<ownClass> objectList;
String[] specificValueArray = {"value0","value1","value2","value3"};
for (ownClass object:objectlist){
if (object.getSomeValue() == allValuesFromArray){
//some code
}
}
List对象列表;
字符串[]specificValueArray={“value0”、“value1”、“value2”、“value3”};
对于(ownClass对象:objectlist){
if(object.getSomeValue()==allValuesFromArray){
//一些代码
}
}
IIUC,您可以使用:
if (Arrays.asList(specificValueArray).contains(object.getSomeValue())){
...
}
如果object.getSomeValue()
在specificValueArray
中,则返回true
(请记住导入java.util.array;
)您是否尝试过:
if (!objectList.retainAll(Arrays.asList(specificValueArray)).isEmpty()) {
//some code
}
这稍微掩盖了复杂性,因为这是O(n^2),但干净易读。如果列表已排序,则可以使用
集合。binarySearch