相关疑难解决方法(0)

是否保证从LinkedHashMap对象返回键和值的顺序?

我知道LinkedHashMap有一个可预测的迭代顺序(插入顺序).是否Set通过返回LinkedHashMap.keySet()Collection返回的LinkedHashMap.values()也维持这种秩序?

java iteration linkedhashmap

154
推荐指数
4
解决办法
4万
查看次数

如何维护插入顺序

我想将一个键值对添加到哈希表(或任何其他集合)中,但必须维护插入顺序.我怎样才能做到这一点?

就像我将1添加为键"一"作为值,2作为键和"两"作为值.

输出应该是:

1:one
2:two
Run Code Online (Sandbox Code Playgroud)

java collections dictionary

27
推荐指数
2
解决办法
4万
查看次数

从LinkedHashMap的keySet()创建的ArrayList是否保留了插入顺序?

我得到类似的数据

{"ABC的员工1","ABCX"},{"ABC的员工2","ABCY"},{"ABC的员工3","ABCZ"}

从数据库到RefCursor.

我有一个案例,我需要保留从数据库中读取数据的顺序.由于我的数据是一种"键值",我想到了使用了一个Map有序的实现.因此选择了LinkedHashMap

//defined as a static map inside a common utlity class
public class Common{
public static final LinkedHashMap<String, String> empMap = new   LinkedHashMap<String, String>();
}

//rs is the resultset
if (rs != null) {
            while (rs.next()) {
                key = rs.getString("name_text");
                value = rs.getString("id");
                Common.empMap.put(key, value);
            }
}
Run Code Online (Sandbox Code Playgroud)

我必须按照从数据库(Cursor)检索它的顺序将密钥传递给客户端.

List<String> empList = new ArrayList<String>(Common.empMap.keySet());
Run Code Online (Sandbox Code Playgroud)

keySet() - 文档说"返回此映射中包含的键的Set视图.该集由映射支持,因此对映射的更改将反映在集合中,反之亦然"

我所期待的是,由于ArrayList也是一个有序集合,我应该以与检索/插入密钥相同的方式获取密钥Map.

当我做一个示例测试程序时,我得到了预期的结果.

public class LinkedMap {    
    public static void main(String[] args) { …
Run Code Online (Sandbox Code Playgroud)

java linkedhashmap

5
推荐指数
1
解决办法
1072
查看次数

从 HashMap 中获取第一个和最后一个元素

我有以下代码,我希望能够从 Map 中获取第一个和最后一个元素并将每个元素分配给一个字符串。

String result1stElement = null;
String resultLastElement = null;

Map<String, String> result = new HashMap<String, String>();
result = myModel.getSampleResults();
Run Code Online (Sandbox Code Playgroud)

有任何想法吗。

提前致谢。

java hashmap

1
推荐指数
1
解决办法
2万
查看次数