如何检查arraylist中的数组是否包含某个值?

巴绍格扎德

我有一个包含String类型数组的数组列表。我创建数组列表,并使用以下代码向其中添加数组:

List<String[]> transaction = new ArrayList<String[]>();

String[] transactionLine = new String[7];
transactionLine[0] = "0";
transactionLine[1] = "1";
//.....
transactionLine[6] = "some value";

transactionLines.add(transactionLine);

现在,我要测试数组之一是否包含某个值。我这样尝试过,但随后它检查的是数组而不是数组的元素:

if(transactionLines.contains("some value")) { 
     //Do some stuff with it
}

我知道这行不通,但是现在我不知道如何去做。我在Stackoverflow上已经找不到任何相关的帖子(无论如何也没有关于此问题的逻辑搜索词)。

注意:我在arraylist中选择了这种数组结构,因为我有固定数量的列(如如何在Java中创建动态二维数组所建议的那样)。

任何帮助是极大的赞赏!

史蒂夫克罗斯

@assylias建议使用面向对象的方式很好,但是他的示例并未说明列表是否包含一个属性具有特定值的事务。此示例执行以下操作:

public class Test {

    public static void main(final String[] args) {
        final List<TransactionLine> transaction = new ArrayList<>();

        transaction.add(new TransactionLine(1, "some value"));
        transaction.add(new TransactionLine(2, "another value"));
        transaction.add(new TransactionLine(3, "yet another value"));

        System.out.println(containsName(transaction, "some value"));
        System.out.println(containsName(transaction, "non-existent value"));
    }

    // Iterates over all transactions until a transaction is found that has the
    // same name as specified in search
    private static boolean containsName(final List<TransactionLine> transaction, final String search) {
        for (final TransactionLine transactionLine : transaction) {
            if (transactionLine.getName().equals(search)) {
                return true;
            }
        }

        return false;
    }

    private static class TransactionLine {

        private int id;

        private String name;

        public TransactionLine(final int id, final String name) {
            this.id = id;
            this.name = name;
        }

        public int getId() {
            return id;
        }

        public void setId(final int id) {
            this.id = id;
        }

        public String getName() {
            return name;
        }

        public void setName(final String name) {
            this.name = name;
        }

    }

}

这是带有两个类(TransactionTransactionLine的示例

测试:

public class Test {

    public static void main(final String[] args) throws Exception {
        final Transaction transaction = new Transaction();

        transaction.add("some name");
        transaction.add("another name");
        transaction.add("yet another name");

        System.out.println(transaction.containsName("some name"));
        System.out.println(transaction.containsName("non-existent name"));
    }

}

交易:

import java.util.ArrayList;
import java.util.List;

public class Transaction {

    private final List<TransactionLine> transactionLines = new ArrayList<>();

    public void add(final String name) {
        final TransactionLine tl = new TransactionLine(transactionLines.size(), name);

        transactionLines.add(tl);
    }

    public boolean containsName(final String name) {
        for (final TransactionLine transactionLine : transactionLines) {
            if (transactionLine.getName().equals(name)) {
                return true;
            }
        }

        return false;
    }

}

TransactionLine:

public class TransactionLine {

    private int id;

    private String name;

    public TransactionLine() {
    }

    public TransactionLine(final int id, final String name) {
        this.id = id;
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(final int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(final String name) {
        this.name = name;
    }

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何检查数组中的值是否大于某个值

如何检查ArrayList <ArrayList <String >>是否包含某个ArrayList <String>

如何检查关联数组中是否存在某个值

如何检查用户输入是否等于数组中的某个值?

iOS如何检查数组的值是否包含某个值并将其显示出来

如何放置角度模板以检查特定数组是否包含对象的属性等于某个值?

如何在 if else 语句中检查数组是否包含某个值

如何检查数组是否在JavaScript中包含值?

如何检查数组javascript中是否已包含值

如何检查json数组是否已经包含某个键?

如何检查数组中是否存在某个值并获取下一个值?

如何检查数组是否包含对象的值

如何检查数组索引是否包含值

如何检查数组是否包含特定值?

检查数组是否在angularjs中包含值

如何检查列表是否包含R中的某个元素

如何检查字符串是否包含数组中的某个元素,但不包含其他元素

检查列表是否包含某个值

子数组是否包含某个值?

检查数组是否包含值

如何检查文件的大小是否大于Bash中的某个值

如何检查TreeMap <String,ArrayList <String >>是否包含值?在Java中

如何检查JSON对象数组是否包含数组中定义的值?

如何检查集合的字段是否包含单个值或值数组

Cypress:如何检查字符串插值是否包含数组中的任何值

如何在 MATLAB 中查找元胞数组中的一个元胞是否包含某个值?

如何使用Objection JS检查数组列中是否包含Postgres中的值?

如何检查数组中的元素是否包含列表 Python 中的任何值

如何检查数组中是否存在值?