如何获取两个字符串数组项的位置并存储在android中的每个单独的字符串数组中

时间:2019-03-18 18:10:01

标签: java arrays

对不起,我的英语不好。我为arraylist的每个项目使用两个单独的字符串数组。一切正常。我的问题是,如果我采用字符串数组“ asasaqty”和另一项字符串数组“ asasaId”,则我想采用String数组的每一项(例如),然后我要将字符串数组值的每一项存储在第三个字符串数组中(例如: [id1,qty1]等。请让我知道是否有适当的解决方案。

下面是我的代码。

预先感谢

String [] asasaqty;
    String [] asasaId;

    final AddToCartData addToCartData = response.body();
                    shoppingBagArrayList = addToCartData.getData();

                    asasaqty = new String[shoppingBagArrayList.size()];
                    asasaId = new String[shoppingBagArrayList.size()];


                    for (int i = 0; i < shoppingBagArrayList.size(); i++) {


                        asasaqty[i] = shoppingBagArrayList.get(i).getQty();

                     asasaId[i]=shoppingBagArrayList.get(i).getProductId();


                    System.out.println("==========wwwww========"+ Arrays.toString(asasaqty));
                    System.out.println("======wwwwssssswwwwss======"+ Arrays.toString(asasaId));

                   /* HashMap<String,String> map=new HashMap<String,String>();
                    for (int i = 0; i < asasaqty.length; i++) {
                   map.put(asasaqty[i],asasaId[i]);
                        System.out.println("======aaaaaaa======"+ map.put(asasaqty[i],asasaId[i]));

                    }*/

在logcat中打印值之后,该值看起来像

/System.out: ==========wwwww========[3, 2]
/System.out: ======wwwwssssswwwwss======[151, 10]

现在我想使用另一个String数组,并将每个项目asasaqty和asasaId存储在如下所示的单独数组中

String[] xyz = [3,151] and 
String[] abc = [2,10]

请让我知道我们该怎么做。

1 个答案:

答案 0 :(得分:1)

您可以使用productID和密钥(假设它是唯一的)和数量作为值。

 HashMap<Integer,Integer> dataMap = new HashMap<>();

    for (int i=0; i <shoppingBagArrayList.size; i++){
        dataMap.put(shoppingBagArrayList.get(i).getProductId() , shoppingBagArrayList.get(i).getQty());
    }

    System.out.println("DataMap: "+dataMap);