对于我的Android开发,我有2个数组,除了第一个和最后一个值之外,它们非常相同。
<string-array name="minvalues">
<item>Any Value</item>
<item>100</item>
<item>200</item>
<item>300</item>
</string-array>
<string-array name="maxvalues">
<item>100</item>
<item>200</item>
<item>300</item>
<item>Any Value</item>
</string-array>
我在想有没有办法将常用值定义为100,200,300作为另一个数组,让minvalues
和maxvalues
包含它,因此我们可以在minvalues
和maxvalues
之间分享共同的价值观。这在Android数组xml中是否可行?
答案 0 :(得分:0)
我认为没有,因为值是字符串,您需要手动将它们转换为整数,以便使用
查找常用值String[] minValues = getResources().getStringArray(R.array.minvalues);
String[] maxValues = getResources().getStringArray(R.array.maxvalues);
然后使用
将它们转换为intint[] minValsInt = Arrays.asList(minValues).stream().mapToInt(Integer::parseInt).toArray();
int[] maxValuesInt = Arrays.asList(maxValues).stream().mapToInt(Integer::parseInt).toArray();
现在你可以遍历每一个并获得共同的值。
修改强> 以下是从post
获取重复项的方法void findDupes(int[] a, int[] b) {
HashSet<Integer> map = new HashSet<Integer>();
for (int i : a)
map.add(i);
for (int i : b) {
if (map.contains(i))
// found duplicate!
}
}
干杯