Java 为什么我的值即使在';它应该在最后吗?

Java 为什么我的值即使在';它应该在最后吗?,java,Java,“Statuses\u count”应该在字符串的末尾,但不知怎的,它出现在前面。我不明白为什么,即使其他值按其要求的顺序排列,这个值也只在字符串的开头,即使它应该是最后一个。这是密码 // loop over inner User object JSONObject user = (JSONObject) jsonObject.get("user"); Iterator<JSONObject> iterator_user = user.entrySet().iterator();

“Statuses\u count”应该在字符串的末尾,但不知怎的,它出现在前面。我不明白为什么,即使其他值按其要求的顺序排列,这个值也只在字符串的开头,即使它应该是最后一个。这是密码

// loop over inner User object
JSONObject user = (JSONObject) jsonObject.get("user");
Iterator<JSONObject> iterator_user = user.entrySet().iterator();

while (iterator_user.hasNext()) {
    Map.Entry entry = (Map.Entry)iterator_user.next();

    //get user name
    if (entry.getKey().equals("name")) {
        sb.append(entry.getValue()+",");
    }

    //get user followers count
    if (entry.getKey().equals("followers_count")) {
        sb.append(entry.getValue()+",");
    }

    //get user tweets count
    if (entry.getKey().equals("statuses_count")) {
        sb.append(entry.getValue()+",");
    }
}
//在内部用户对象上循环
JSONObject user=(JSONObject)JSONObject.get(“用户”);
迭代器迭代器_user=user.entrySet().Iterator();
while(迭代器_user.hasNext()){
Map.Entry=(Map.Entry)迭代器_user.next();
//获取用户名
if(entry.getKey().equals(“name”)){
sb.append(entry.getValue()+“,”);
}
//获取用户关注者计数
if(entry.getKey().equals(“followers_count”)){
sb.append(entry.getValue()+“,”);
}
//获取用户推文计数
if(entry.getKey().equals(“status_count”)){
sb.append(entry.getValue()+“,”);
}
}

为了得到更好的答案,您的示例中缺少了很多东西:

user.entrySet()
返回我能看到的集合,集合不需要排序(例如,
HashSet
未排序,
TreeSet
已排序,
LinkedHashSet
已排序)

这里正确的方法不是对集合进行排序,而是使用
JSONObject
,这可能是映射

sb.append(user.get("name"));
sb.append(user.get("followers_count"));
sb.append(user.get("statuses_count"));

只有最后一个出现了问题。好吧,但似乎我不能仅仅将JSONObject更改为树集?我假设,您是JSONObject-并且有
get
,所以您可以在我编写时使用它。。。所以基本上没有
循环。。。不需要一些转换,排序…这样就可以排序了。谢谢