Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使字符串数组中的项相等_Android_Arrays - Fatal编程技术网

Android 如何使字符串数组中的项相等

Android 如何使字符串数组中的项相等,android,arrays,Android,Arrays,我有两个字符串数组mylist和listprice <string-array name="mylist"> <item>Bottle</item> <item>Watch</item> <item>Books</item> <item>Mobile</item> <item>Purse</item> <ite

我有两个字符串数组mylist和listprice

 <string-array name="mylist">
    <item>Bottle</item>
    <item>Watch</item>
    <item>Books</item>
    <item>Mobile</item>
    <item>Purse</item>
    <item>Pen</item>
    <item>Glass</item>
    <item>Class</item>
    <item>Rubber</item>
    <item>Fan</item>
</string-array>

<string-array name="listprice">
    <item>160</item>
    <item>2600</item>
    <item>200</item>
    <item>26000</item>
    <item>260</item>
    <item>10</item>
    <item>500</item>
    <item>3000</item>
    <item>3</item>
    <item>380</item>
</string-array>

瓶子
监视
书
可移动的
钱包
笔
玻璃
等级
橡皮
扇子
160
2600
200
26000
260
10
500
3000
3.
380

我想初始化两个数组项,例如“瓶子”等于“160”,“手表”等于“2600”,等等。。。如何实现它…提前感谢…

您可以对两个数组关系使用哈希映射:

   HashMap<String,String> map=new HashMap<String,String>();
               for (int i = 0; i < getResources().getStringArray(R.array.mylist).length; i++) {
                    map.put(getResources().getStringArray(R.array.mylist)[i],getResources().getStringArray(R.array.listprice)[i]);
                }
HashMap map=newhashmap();
for(int i=0;i
您可以对以下两种数组关系使用哈希映射:

   HashMap<String,String> map=new HashMap<String,String>();
               for (int i = 0; i < getResources().getStringArray(R.array.mylist).length; i++) {
                    map.put(getResources().getStringArray(R.array.mylist)[i],getResources().getStringArray(R.array.listprice)[i]);
                }
HashMap map=newhashmap();
for(int i=0;i
您可以获得如下阵列:

String[] listprice = getResources().getStringArray(R.array.listprice);
String[] mylist = getResources().getStringArray(R.array.mylist);

您可以这样获得阵列:

String[] listprice = getResources().getStringArray(R.array.listprice);
String[] mylist = getResources().getStringArray(R.array.mylist);

您可以使用以下代码访问字符串数组:

Resources res = getResources();
String[] mylist = res.getStringArray(R.array.mylist);
String[] listprice = res.getStringArray(R.array.listprice);

您可以使用
mylist[index]
equals
listprice[index]
您可以使用以下代码访问字符串数组:

Resources res = getResources();
String[] mylist = res.getStringArray(R.array.mylist);
String[] listprice = res.getStringArray(R.array.listprice);

您可以使用
mylist[index]
equals
listprice[index]
获取两个字符串并将值合并

 private String[] concat(String[] A, String[] B) {
       int aLen = A.length;
       int bLen = B.length;
       String[] C= new String[aLen+bLen];
       System.arraycopy(A, 0, C, 0, aLen);
       System.arraycopy(B, 0, C, aLen, bLen);
       return C;
    }

取两个字符串并将值合并

 private String[] concat(String[] A, String[] B) {
       int aLen = A.length;
       int bLen = B.length;
       String[] C= new String[aLen+bLen];
       System.arraycopy(A, 0, C, 0, aLen);
       System.arraycopy(B, 0, C, aLen, bLen);
       return C;
    }

在java中,您可以使用

String myList[]=getResources().getStringArray(R.array.mylist);
String myListPrice[]=getResources().getStringArray(R.array.listprice);
您可以创建一个类,比如

public class ItemPrice{
      private String listItemName;
      private String listPrice;
      public String getListItemName(){return listItemName;}
      public String getListPrice(){return listPrice;}
      public void setListItemName(String itemName){this.listItemName = itemName;}
      public void setListPrice(String listPrice){this.listPrice = listPrice;}
}
您的数组逻辑可以是这样的

List<ItemPrice> itemPriceList = new ArrayList<ItemPrice>();
for(int i=0;i<myList.length;i++){
    ItemPrice items =  new ItemPrice();
    items.setListItemName(myList[i]);
    items.setListPrice(myListPrice[i]);
    itemPriceList.add(items);
}
List itemPriceList=new ArrayList();

对于java中的(inti=0;i),您可以使用

String myList[]=getResources().getStringArray(R.array.mylist);
String myListPrice[]=getResources().getStringArray(R.array.listprice);
您可以创建一个类,比如

public class ItemPrice{
      private String listItemName;
      private String listPrice;
      public String getListItemName(){return listItemName;}
      public String getListPrice(){return listPrice;}
      public void setListItemName(String itemName){this.listItemName = itemName;}
      public void setListPrice(String listPrice){this.listPrice = listPrice;}
}
您的数组逻辑可以是这样的

List<ItemPrice> itemPriceList = new ArrayList<ItemPrice>();
for(int i=0;i<myList.length;i++){
    ItemPrice items =  new ItemPrice();
    items.setListItemName(myList[i]);
    items.setListPrice(myListPrice[i]);
    itemPriceList.add(items);
}
List itemPriceList=new ArrayList();
对于(int i=0;i
现在您可以将所有这些放在hashmap中

HashMap<String, String> items = new HashMap<>();
for(int i = 0; i<itemList.length; i++){
items.put(itemList[i], itemPrice[i]);
}
或者您可以使用str.equals(str2)方法检查项目,然后从索引中从itemPrice数组中获取价格

现在您可以将所有这些放在hashmap中

HashMap<String, String> items = new HashMap<>();
for(int i = 0; i<itemList.length; i++){
items.put(itemList[i], itemPrice[i]);
}

或者您可以使用str.equals(str2)方法检查项目,然后从索引中从itemPrice数组中获取价格。

在循环中同时访问两个数组。在循环中同时访问两个数组。谢谢这是代码…现在的问题是,我在一个微调器中添加了mylist…如果我更改一个微调器的值,则在另一个微调器中添加listprice…应该另一个微调器d相应地更改..您可以通过以下方式更改第二个微调器索引值:secondSpinner.setSelection(firstSpinnerPosition);谢谢,这是代码…现在的问题是我在一个微调器中添加了mylist…如果我更改了一个微调器的值,则在另一个微调器中添加了listprice…另一个微调器应相应更改..您可以通过以下方式更改第二个微调器索引值:secondSpinner.setSelection(firstSpinnerPosition);