【问题标题】:How can I search specific element in Arraylist?(java) [duplicate]如何在 Arraylist 中搜索特定元素?(java)[重复]
【发布时间】:2020-07-24 11:10:27
【问题描述】:
ACCOUNT p1= new SavingAccount("Saving","Ahmad",10000,3000,"43");
ACCOUNT p2= new CheckingAccount("Checking","Ali",20000,0 ,"0021");
ACCOUNT p3= new CheckingAccount("Checking","Mona",15000,0 ,"0033");
ArrayList  <ACCOUNT> ACCOUNTList = new ArrayList<ACCOUNT>();
    ACCOUNTList.add(p1);
    ACCOUNTList.add(p2);
    ACCOUNTList.add(p3);

我尝试在列表中搜索特定名称(如果它在列表中),然后打印该对象。

【问题讨论】:

  • I try to search a specific name on the list if it's on the list then print the object. - 我看不到你在哪里尝试过。

标签: java arrays


【解决方案1】:

如何使用 Stream API。

Optional<Account> matchingAccount = accountList.stream().
                                                   filter(a -> a.getName().equals("someName")).
                                                   findFirst();

它将返回一个可选的,因为它不能保证找到具有任何给定名称的帐户。

【讨论】:

    【解决方案2】:

    您可以使用“增强的 for 循环”,它将遍历列表中的每个元素,而无需设置任何条件,因为在这种情况下,此循环的目的并不复杂。

    public ACCOUNT getACCByName(String name, ArrayList<ACCOUNT> list){
    
    for(ACCOUNT acc : list){
        if(acc.getName().equals(name)){
          return acc;
            }
        }
    return null;
    }
    

    但请注意,随着列表的增长,您可能会有多个具有相同名称的元素,因此请确保您搜索的内容绝对可以是唯一的

    【讨论】:

      猜你喜欢
      • 2014-12-05
      • 2016-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多