从java或android中的对象中删除值

时间:2013-05-21 12:21:38

标签: java android hashmap

private String[] userKeys;

userKeys =  MHConstants.friendsModelDetails.keySet().toArray( new String[MHConstants.friendsModelDetails.size()]);

if(MHConstants.friendsModelDetails.size()>0 ){
        for(int i = 0;i<MHConstants.friendsModelDetails.size();i++){
            String username = userKeys[i];

System.out.println("userkey contains"+username);
}
String number=9;

这是打印件 1 五 9 8 10

如何获取等于''number'的值的位置并从userskey中删除... 提前谢谢。

2 个答案:

答案 0 :(得分:2)

您可以尝试使用Apache Commons

userKeys = ArrayUtils.removeElement(userKeys , number); 

或者只是迭代数组和移位元素也可以这样做 像(它很难看,没有尝试/测试过)

String number = "9";
boolean flag = false;
int j;
int length = userKeys.length;
for (int i = 0; i < length; i++) {
    if(number.equals(userKeys[i])){
        flag = true;
        j = i;
    }
}
if(flag){
    for(int i=j;i<length-1;i++){
        userKeys[i+1] = userKeys[i];
    }
    userKeys[length] = null; // resetting the value
}

答案 1 :(得分:0)

考虑使用List代替Array。然后使用Iterator来删除元素。

List<String> values = ...;
Iterator<String> iterator = values.iterator();
while(iterator.hasNext){
      String next = iterator.next();
      if (number.equals(next))
         iterator.remove();
}