Tag: hashmap

数组哈希ruby

好吧,所以这里的交易,我一直在search谷歌寻找解决办法,虽然有很多外面,他们似乎没有做我正在寻找的工作。 基本上我有一个这样的数组结构 ["item 1", "item 2", "item 3", "item 4"] 我想把它转换成一个哈希,所以它看起来像这样 { "item 1" => "item 2", "item 3" => "item 4" } 即“偶数”索引上的项是键,“奇数”索引上的项是数值。 任何想法如何做到这一点干净? 我想蛮力的方法是把所有的偶数索引都放到一个单独的数组中,然后在它们周围循环来添加值。

Java HashMap如何处理具有相同哈希代码的不同对象?

根据我的理解,我认为: 两个对象具有相同的哈希码是完全合法的。 如果两个对象相等(使用equals()方法),那么它们具有相同的哈希码。 如果两个对象不相等,则它们不能具有相同的哈希码 我对么? 现在,如果正确,我有以下问题: HashMap内部使用该对象的哈希码。 因此,如果两个对象可以具有相同的哈希码,那么HashMap如何跟踪它使用的密钥呢? 有人可以解释HashMap如何在内部使用对象的哈希码吗?

Ruby:如何将哈希变成HTTP参数?

这很简单,像一个简单的散列 {:a => "a", :b => "b"} 这将转化为 "a=a&b=b" 但是,你如何处理更复杂的事情呢? {:a => "a", :b => ["c", "d", "e"]} 应该翻译成 "a=a&b[0]=c&b[1]=d&b[2]=e" 更糟糕的是,(做什么)如下所示: {:a => "a", :b => [{:c => "c", :d => "d"}, {:e => "e", :f => "f"}] 感谢非常赞赏的帮助!

将string转换为散列符号的最佳方法

什么(最快/最干净/直接)的方式来将所有的哈希密钥从string转换为Ruby中的符号? 这在parsingYAML时会很方便。 my_hash = YAML.load_file('yml') 我想能够使用: my_hash[:key] 而不是: my_hash['key']

将重复键放入HashMap时会发生什么?

如果我多次将相同的密钥传递给HashMap的put方法,原始值会发生什么变化? 而且,如果价值重复呢? 我没有find任何文件。 情况1:覆盖键的值 Map mymap = new HashMap(); mymap.put("1","one"); mymap.put("1","not one"); mymap.put("1","surely not one"); System.out.println(mymap.get("1")); 我们surely not one 。 情况2:重复值 Map mymap = new HashMap(); mymap.put("1","one"); mymap.put("1","not one"); mymap.put("1","surely not one"); // The following line was added: mymap.put("1","one"); System.out.println(mymap.get("1")); 我们得到one 。 但是其他的价值呢? 我正在向一名学生讲授基础知识,并被问到这一点。 Map像最后一个值被引用的桶(但在内存中)?

HashMap中关键的存在检查

检查HashMap中关键的存在是否必要? 我有一个HashMap说1000条目,我正在提高效率。 如果HashMap被非常频繁地访问,那么在每次访问时检查密钥的存在将导致很大的开销。 相反,如果钥匙不存在,因此发生exception,我可以赶上例外。 (当我知道这很less会发生)。 这将使访问HashMap减less一半。 这可能不是一个好的编程习惯,但它会帮助我减less访问次数。 还是我在这里错过了什么? [ 更新 ]在HashMap中没有空值。

按键sorting散列,在Ruby中返回散列

这是sorting哈希和返回哈希对象(而不是数组)的最佳方法: h = {"a"=>1, "c"=>3, "b"=>2, "d"=>4} # => {"a"=>1, "c"=>3, "b"=>2, "d"=>4} Hash[h.sort] # => {"a"=>1, "b"=>2, "c"=>3, "d"=>4}

C#Java HashMap等价物

从一个Java世界到一个C#一个是否有一个HashMap的等价物? 如果不是,你会推荐什么?

如何将ruby哈希对象转换为JSON?

如何将ruby哈希对象转换为JSON? 所以我正在尝试下面的这个例子,它不工作? 我在看RubyDoc,显然Hash对象没有to_json方法。 但是我正在读博客Rails支持active_record.to_json并且还支持hash#to_json 。 我可以理解ActiveRecord是一个Rails对象,但Hash不是原生Rails的,它是一个纯Ruby对象。 所以在Rails中你可以做一个hash.to_json ,但不是在纯Ruby中? car = {:make => "bmw", :year => "2003"} car.to_json

为什么没有针对ConcurrentHashMap的ConcurrentHashSet

HashSet基于HashMap。 如果我们看一下HashSet<E>实现,所有东西都在HashMap<E,Object>之下进行pipe理。 <E>被用作HashMap的关键字。 而且我们知道HashMap不是线程安全的。 这就是为什么我们有Java中的ConcurrentHashMap 。 基于此,我很困惑, 为什么我们没有一个ConcurrentHashSet应该基于ConcurrentHashMap ? 还有什么我失踪? 我需要在multithreading环境中使用Set 。 另外,如果我想创build我自己的ConcurrentHashSet ,我可以通过将HashMapreplace为ConcurrentHashMap并将其余部分保持原样来实现它?