相关疑难解决方法(0)

当我们在Map中查找键时,如何忽略区分大小写?

可能重复:
是否有一个很好的方法来获得Map <String,?> get和put ignore case?

在java.util.Map中搜索键时如何忽略区分大小写?

我想知道我们是否可以忽略这个案例来查找地图中的密钥.

Example,
   Map<String, Integer> lookup = new HashMap<String, Integer>();   
   lookup.put("one", 1);   
   lookup.put("two", 2);   
   lookup.put("three", 3); 
Run Code Online (Sandbox Code Playgroud)

用户输入可以是"ONE"或"one".在这种情况下,而不是将用户输入转换为小写.是否有任何方法可以通过任何方法忽略关键敏感?

谢谢,凯西尔

java

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

如何获取地图中的上一个键/值和下一个键/值

for (Entry<Double, String> entry : map.entrySet()) { 
        Double key = entry.getKey(); 
        String value = entry.getValue(); 

        // double nextKey = ?
        // String nextvalue = ?

        // double prevKey = ?
        // String prevValue = ?
    } 
Run Code Online (Sandbox Code Playgroud)

是否有可能在迭代地图时知道前一个元素和下一个元素是什么?

java dictionary

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

具有多种数据类型的Java Array

我可以用什么来存储多种不同类型的数据,Int/String /等?我来自PHP背景,我可以将不同类型的数据存储到数组中,但我不知道如何在Java中执行此操作.

举个例子:

$array = array(
    "val1" => 1,
    "val2" => "cat",
    "val3" => true
);
Run Code Online (Sandbox Code Playgroud)

如何在Java中创建类似的东西?

java

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

TreeMap,HashMap和LinkedHashMap的性能?

在TreeMap中 - 元素
在HashMap 中排序- 元素未排序

所以,如果我认为get,putremove方法这地图,我应该使用的性能?

java performance map

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

何时在java中使用hashhashmap而不是hashmap?

在linkedhashmap和hashmap中选择的实际场景是什么?我已经完成了每个工作,并得出结论:linkedhashmap维护插入顺序,即元素将以与插入顺序相同的顺序检索,而hashmap将不维护顺序.那么有人可以告诉在什么实际场景中选择其中一个集合框架以及为什么?

java types hashmap linkedhashmap data-structures

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

HashMap应该是未分类的,但仍然按键排序

根据这些:

  1. http://docs.oracle.com/javase/6/docs/api/java/util/HashMap.html
  2. HashMap,LinkedHashMap和TreeMap之间的区别
  3. java beginner:密钥如何在哈希映射中排序?

HashMapJava应该是未排序的,但它被相对于分类Key.

我认为这是一个问题,因为我需要插入订单数据.所以,我用了LinkedHashMap.但我仍然困惑为什么HashMap排序它.

有人能解释一下吗?

我做了一个简单的例子来查看排序.

public static void main(String[] args) {

        HashMap<Integer, String> newHashMap = new HashMap<Integer, String>();
        newHashMap.put(2, "First");
        newHashMap.put(0, "Second");
        newHashMap.put(3, "Third");
        newHashMap.put(1, "Fourth");

        Iterator<Entry<Integer, String>> iterator = newHashMap.entrySet()
                .iterator();
        while (iterator.hasNext()) {

            Map.Entry<Integer, String> entry = iterator.next();
            System.out.println("Key: " + entry.getKey());
            System.out.println("Value: " + entry.getValue());
            iterator.remove();
        }

    }
Run Code Online (Sandbox Code Playgroud)

结果:

Key: 0
Value: Second
Key: 1
Value: Fourth
Key: 2
Value: First
Key: 3 …
Run Code Online (Sandbox Code Playgroud)

java sorting hashmap data-structures

4
推荐指数
1
解决办法
3168
查看次数

java.util.HashMap.values() 的迭代顺序

是否保证标准实现中的键和值以java.util.Map相同的顺序返回?例如,如果 map 包含映射x1 -> y1and x2 -> y2,那么如果keySet()迭代产生x1, x2,是否保证values()迭代会产生y1, y2而不是y2, y1?我没有看到任何地方保证这是真的,但它似乎有效。谁能给出证实或否认这个前提并给出反例?

public class MapsTest {
    @Test
    public void hashMapKeysAndValuesAreInSameOrder() {
        assertKeysAndValuesAreInSameOrder(new HashMap<>());
    }

    @Test
    public void treeMapKeysAndValuesAreInSameOrder() {
        assertKeysAndValuesAreInSameOrder(new TreeMap<>());
    }

    private void assertKeysAndValuesAreInSameOrder(Map<Integer, Integer> map) {
        Random random = new Random();
        IntStream.range(0, 100000).map(i -> random.nextInt()).forEach(i -> map.put(i, i));
        assertEquals(new ArrayList<>(map.keySet()), new ArrayList<>(map.values()));
    }
}
Run Code Online (Sandbox Code Playgroud)

java

4
推荐指数
1
解决办法
1032
查看次数

基于键的地图排序

这基本上不是HashMap基于键的排序方式.为此,我可以直接使用TreeMap没有眨眼:)

我现在拥有的是

Map<String, Object> favoritesMap = new HashMap<String, Object>();
and its contents can be
["Wednesdays" : "abcd"]
["Mondays" : "1234"]
["Not Categorized" : "pqrs"]
["Tuesdays" : "5678"]
Run Code Online (Sandbox Code Playgroud)

我想基于键对HashMap进行排序,除此之外,我需要"未分类"才能找到最后一个.

因此,在迭代keySet时所期望的是

["Mondays", "Tuesdays", "Wednesdays", "Not Categorized"] i.e. sorted on keys and "Not Categorized" is the last one
Run Code Online (Sandbox Code Playgroud)

HashMap在创建时加入,["Not Categorized" : "pqrs"]但最后添加但HashMap不保证顺序:)

解决方案的任何其他指针?

java hashtable hashmap

3
推荐指数
1
解决办法
1409
查看次数

LinkedHashMap的缺点?

使用LinkedHashMap而不是HashMap有什么缺点吗?大多数帖子似乎都在讨论LinkedHashMaps(例如这个API)的优点,但我找不到HashMaps更好的原因.

java hashmap linkedhashmap data-structures

3
推荐指数
1
解决办法
1483
查看次数

Hashmap put(),它总是订购吗?

当我们hashmap<Key, Value>使用变量添加值时put(),它们总是排序吗?

因为当我尝试使用简单的代码时,他们正在订购.

例:

Map<Integer, Integer> ctrArMap = new HashMap<Integer, Integer>();
    ctrArMap.put( 1, 11);
    ctrArMap.put( 2, 12);
    ctrArMap.put( 3, 13);
    ctrArMap.put( 4, 14);
    ctrArMap.put( 5, 15);
    System.out.println(ctrArMap);
Run Code Online (Sandbox Code Playgroud)

但就我而言,他们并没有订购.

java variables hashmap

3
推荐指数
3
解决办法
3140
查看次数