如何从SoapObject中删除属性?

问题描述 投票:0回答:2

我收到一个SoapObject,其中包含2个具有相同名称的属性。我想从Object中删除其中一个,我不知道如何实现它。

目的是,我实际上想要读取两个属性:soapObject.getProperty(“PropertyName”);

我已成功尝试使用for循环:for(int i = 0; i <soapObject.getPropertyCount(); i ++)soapObject.getProperty(atIndex);

但是,它不符合我的目的。我需要按名称检索它们。那么,我怎样才能找回它们?

我尝试两次调用该方法,但它返回两次相同的值。

android ksoap2 android-ksoap2
2个回答
0
投票

你有没有尝试过for each循环?它允许您访问密钥,从而访问值。在这里,您可以找到一个可以从中开始的示例:

for (K key : map.keySet()) {
    System.out.println(key + "=" + map.get(key));
}

0
投票

如果我已正确理解问题陈述,您可以通过以下方法之一删除重复的soap对象(但首先将其添加到arraylist中)

  1. 使用迭代器
  2. 使用LinkedHashSet。更好的方式(两个时间 复杂性和易于实现明智)是从ArrayList中删除重复项是将其转换为不允许重复的Set
  3. 使用Java 8 Stream.distinct()您可以使用Stream API中的distinct()方法
© www.soinside.com 2019 - 2024. All rights reserved.