我有两个String数组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”等等......我怎样才能实现它...提前感谢...
答案 0 :(得分:1)
您可以对两个数组关系使用哈希映射:
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]);
}
答案 1 :(得分:1)
String[] itemList = getResources().getStringArray(R.array.mylist);
String[] itemPrice = getResources().getStringArray(R.array.listprice);
现在你可以将所有这些放在hashmap中。
HashMap<String, String> items = new HashMap<>();
for(int i = 0; i<itemList.length; i++){
items.put(itemList[i], itemPrice[i]);
}
现在,如果你想得到Fan的价格,那就写一下
String price = items.get("Fan"); //it will be 380
或者您可以使用str.equals(str2)方法检查项目,然后从索引获取itemPrice数组的价格。
答案 2 :(得分:0)
你可以这样得到你的数组:
arecord -Dhw:<card_num>,<device_num> -c <channel_number> –f <format> -r <sample_rate> | aplay -Dhw:<card_num>,<device_num>
答案 3 :(得分:0)
您可以使用以下代码访问字符串数组:
Resources res = getResources();
String[] mylist = res.getStringArray(R.array.mylist);
String[] listprice = res.getStringArray(R.array.listprice);
您可以使用mylist[index]
等于listprice[index]
答案 4 :(得分:0)
取两个字符串并合并值。
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;
}
答案 5 :(得分:0)
在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);
}
所以你可以获得itemPriceList,它将包含两个项目以及封装在一个对象中的价格。我假设两个数组长度都相同,并根据它们的索引进行映射。
如果您正在寻找此项并且需要进一步的帮助,请分享吗?