java - 检查静态数组 : Java 中是否存在值

标签 java if-statement compare

我有以下类(class):

public class ValueHolder {
    private String columnName;
    private int width;
    private String defaultColumnStyle;

    public String getDefaultColumnStyle() {
        return defaultColumnStyle;
    }

    public void setDefaultColumnStyle(String defaultColumnStyle) {
        this.defaultColumnStyle = defaultColumnStyle;
    }

    public String getColumnName() {
        return columnName;
    }

    public void setColumnName(String columnName) {
        this.columnName = columnName;
    }

    public int getWidth() {
        return width;
    }

    public void setWidth(int width) {
        this.width = width;
    }

    public ValueHolder(String columnName, int width, String cellStyle) {
        this.columnName = columnName;
        this.width = width;
    }

    public ValueHolder(String columnName, int width, String cellStyle, String defaultColumnStyle) {
        this(columnName, width, cellStyle, defaultColumnStyle, null);
    }

    public ValueHolder(String columnName, int width, String cellStyle, String defaultColumnStyle, String dataFormat) {
        this.columnName = columnName;
        this.width = width;
        this.defaultColumnStyle = defaultColumnStyle;
    }

}

以及以下

public class StaticArrayValues {

    public static ValueHolder[] TEST_VALUES = new ValueHolder[] {

            new ValueHolder("test Name", 4498, "testvalue"), new ValueHolder("Last Name", 4498, "testvalue"),
            new ValueHolder("test ID", 4498, "testvalue"), new ValueHolder("ID Value", 4498, "testvalue") };

    public static void main(String[] args) {

        String testValue= "First Name";

        // How do i check if testValue is there in  TEST_VALUES
        /*if(){

        }*/

    }

}

如何检查 TEST_VALUES 中是否存在“名字”?

我确信这是基本问题,但我仍然无法找出方法:(。

有人可以帮我吗?

最佳答案

你必须迭代数组

boolean isPresent = false;
for(ValueHolder valueHolder: TEST_VALUES){
  if(valueHolder.getColumnName().equals(testValue)){
     isPresent = true;
     break;
  }
}

一些额外的想法, 如果您要做很​​多这样的事情(搜索某个特定字段中是否存在某个值),那么您可以创建一个 HashMap (HashMap) 并放置 columnName 作为键,ValueHolder 对象作为值,这将为您提供恒定的查找时间复杂度,而不是迭代整个列表时的线性时间复杂度。

关于java - 检查静态数组 : Java 中是否存在值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33645689/

相关文章:

java - LifecycleException 无效的服务器 SSL 协议(protocol)

java - 如何使用 SpringBoot 使用 Spring Data JPA 和 MYSQas DB 创建一个简单的 CRUD 应用程序?

MySQL CONCAT 截断 IF THEN block 内的字符串

Javascript:与正则表达式或其他方式进行比较

java - 如何使用 Java 中的具体泛型调用 Kotlin 方法?

java - 强制执行 Maven 插件的生命周期先决条件?

Java:返回语句编译错误

python - SQLAlchemy 中的条件过滤

java - 获取List常见值个数

python:比较不同日期类型的数据