嗨,我有一个包含名称/年龄(字符串/整数)对的LinkedHashMap(称为info).我想知道,如果我输入密钥,如何获得键/值的位置.例如,如果我的LinkedHashMap看起来像这样{bob = 12,jeremy = 42,carly = 21}并且我要搜索jeremy,它应该返回1作为它的位置1.我希望我可以使用类似info.getIndex的东西( "杰里米")
它甚至可能吗?
说你有
private Set<String> names = new LinkedHashSet<String>();
Run Code Online (Sandbox Code Playgroud)
并且Strings是"迈克","约翰","凯伦".
是否有可能在没有迭代的情况下得到"1"以回答"约翰"的索引是什么?
以下工作正常..有了这个问题,我想知道是否有更好的方法
for (String s : names) {
++i;
if (s.equals(someRandomInputString)) {
break;
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个LinkedHashMap的<String, List<T>>.我正在构建Map,所以也许有更好的方法来组织所有数据.
我试图获得具有共同列表的键,每个列表中至少有2个共同元素.
例如:
Map
----------------------
| Key | Values |
----------------------
| M1 | [A1, A3] |
| M2 | [A1, A2, A3] |
| M3 | [A1, A2] |
| M4 | [A2, A3] |
----------------------
Run Code Online (Sandbox Code Playgroud)
最后,我想有这个清单: [ [M2, M3], [M2, M4], [M1, M2] ]
我不知道如何将我的第一个条目的值与所有其他条目的值进行比较.依此类推,直到我到达地图的末尾(就像for列表的双循环一样).
我现在的解决方案(但我觉得可能有更好的方法)
List<String> keyList = new ArrayList<>(myMap.keySet());
for(int i = 0 ; i < keyList.size()-1 ; i++) {
String keyA = keyList.get(i);
List<T> valuesA …Run Code Online (Sandbox Code Playgroud) 我想存储一个键,值对,它允许我通过其位置(排序必须持久)或其键名来获取值.我正在考虑使用HashMap,但我不想遍历所有值以通过索引获取值.
我需要这样的东西:
MyCollection<String, Object> objects = new MyCollection<String, Object>();
objects.put ("id", Object1);
objects.put ("name", Object2);
// And now access the values by index:
Object obj1 = objects.get(1);
// or by key name:
Object obj2 = objects.getByKeyName("name");
Run Code Online (Sandbox Code Playgroud)
什么是最好的集合(它必须是android <11兼容>