如何使用 ArrayList 制作 If 语句包含(字符串和整数)

How to make If Statement with ArrayList Contains (String and Integer )

我想放一个条件函数,要求购买的药品数量为10,以便他们可以下订单购买其他免费药品

我的Java代码

  firestore.collection("Cart-"+  userid).addSnapshotListener(new EventListener<QuerySnapshot>() {
            @Override
            public void onEvent(@Nullable QuerySnapshot value, @Nullable FirebaseFirestoreException error) {


                for (DocumentSnapshot dsn: value.getDocuments()) {

                    Cart cart = dsn.toObject(Cart.class);

                    int total = cart.getPrice();

                    savetotalprice.add(total);


                    String productname= cart.getTitle();
                    int quantitycounter = cart.getQuantity();

                    if (quantitycounter >= 10 ){

                        freeorder.setVisibility(View.VISIBLE);

                    }
                    else if (quantitycounter <=9) {
                        freeorder.setVisibility(View.GONE);
                    }


                    else {

                        neworder.setVisibility(View.INVISIBLE);
                      

                    }
                }

我看到很多开发人员推荐 arraylist 但是如何使用 IF 语句

您显示的代码似乎与您提出的问题无关。如果你希望药物数量至少为10,你必须在数据推送到后端之前检查。

因此,每次用户将商品添加到购物车时,您都可以这样做:

if(cart.quantity < 10){
    toast("The minimum quantity allowed for a free item is 10")
}else{
    addItemToCart(item)
}

至于在 ArrayList 中搜索项目,您只需 google 'Search ArrayList Java' 即可找到所需的帮助。您真的很少需要在 Whosebug 上提出新问题。

要检查一个项目是否存在于ArrayList中,有几种方法: 让我们假设:

ArrayList<String> aList= new ArrayList<>(Arrays.asList("A", "B", "C"));

然后您可以使用以下方法检查元素是否存在:

1 - Contains()

 if(aList.contains("A")){
   // "A" exists in the list
 }else{
  //"A" doesn't exist in the list
 }

2 - IndexOf()

 //This will return the index of the element you're looking for
 if(aList.indexOf("A") > -1){
   //"A" exists 
 }else{//"A" doesn't exist}

3 - 基本循环

您还可以使用 for each 循环来查看数组是否包含某些内容

for(item in aList){
 if(item == "A"){
   return true;
 }
}
return false;

4 - Iterator()

你也可以使用一个Iterator来遍历一个集合

Iterator<String> iterator = aList.iterator();
    while (iterator.hasNext()) {
        String value = iterator.next();
        if (value == "A") {
            return true;
        }
    }
    return false;

5 - Stream API Stream API 允许您使用高级过滤器。

String item = aList.stream().filter(item -> item == "A").findAny().orElse(null)

参考:Finding a list element in Java