标签: hashset

如何通过构造初始化HashSet值?

我需要创建一个Set初始值.

Set<String> h = new HashSet<String>();
h.add("a");
h.add("b");
Run Code Online (Sandbox Code Playgroud)

有没有办法在一行代码中执行此操作?例如,它对最终的静态字段很有用.

java collections constructor initialization hashset

684
推荐指数
15
解决办法
75万
查看次数

为什么ConcurrentHashMap没有ConcurrentHashSet

HashSet基于HashMap.

如果我们看一下HashSet<E>实现,一切都在管理之下HashMap<E,Object>.

<E>被用作关键词HashMap.

我们知道这HashMap不是线程安全的.这就是我们ConcurrentHashMap在Java中的原因.

基于此,我很困惑,为什么我们没有一个应该基于的ConcurrentHashSet ConcurrentHashMap

还有什么我想念的吗?我需要Set在多线程环境中使用.

另外,如果我想创建我自己的ConcurrentHashSet,我可以通过替换HashMapto来实现它,ConcurrentHashMap并将其余部分保留原样?

java collections concurrency hashmap hashset

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

Hashset与Treeset

我一直喜欢树木,它们很好,O(n*log(n))而且它们整洁.然而,我所知道的每一位软件工程师都有针对性地问我为什么会使用TreeSet.从CS背景来看,我认为你所使用的并不重要,而且我不想乱用哈希函数和桶(在这种情况下Java).

在这情况下,我应该使用HashSetTreeSet

java hashset treeset

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

定义:什么是HashSet?

HashSet C#HashSet数据结构是在.NET Framework 3.5中引入的.可以在HashSet MSDN页面上找到已实现成员的完整列表.

  1. 在哪里使用?
  2. 你为什么要用它?

c# hashset

406
推荐指数
3
解决办法
24万
查看次数

C#中的HashSet是否有AddRange等效项?

使用列表,您可以:

list.AddRange(otherCollection);
Run Code Online (Sandbox Code Playgroud)

HashSet中没有添加范围方法.将另一个集合添加到HashSet的最佳方法是什么?

c# collections hashset addrange

279
推荐指数
3
解决办法
6万
查看次数

如何在没有迭代器的情况下迭代Set/HashSet?

如何迭代Set/ HashSet没有以下内容?

Iterator iter = set.iterator();
while (iter.hasNext()) {
    System.out.println(iter.next());
}
Run Code Online (Sandbox Code Playgroud)

java loops set hashset

264
推荐指数
6
解决办法
67万
查看次数

如何计算两组的交集?

可能重复:
有效地查找可变数量的字符串集的交集

说,有两个Hashset,如何计算它们的交集?

Set<String> s1 = new HashSet<String>();

Set<String> s2 = new HashSet<String>();

S1 INT S2 ?
Run Code Online (Sandbox Code Playgroud)

java intersection set hashset

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

为什么HashSet <Point>比HashSet <string>慢得多?

我想存储一些像素位置而不允许重复,所以首先想到的是HashSet<Point>或类似的类.然而,与类似的情况相比,这似乎非常缓慢HashSet<string>.

例如,这段代码:

HashSet<Point> points = new HashSet<Point>();
using (Bitmap img = new Bitmap(1000, 1000))
{
    for (int x = 0; x < img.Width; x++)
    {
        for (int y = 0; y < img.Height; y++)
        {
            points.Add(new Point(x, y));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

大约需要22.5秒.

虽然以下代码(由于显而易见的原因不是一个好的选择)只需1.6秒:

HashSet<string> points = new HashSet<string>();
using (Bitmap img = new Bitmap(1000, 1000))
{
    for (int x = 0; x < img.Width; x++)
    {
        for (int y = 0; y < img.Height; …
Run Code Online (Sandbox Code Playgroud)

.net c# collections performance hashset

163
推荐指数
2
解决办法
9239
查看次数

HashSet和HashMap之间的区别?

除了HashSet不允许重复值的事实之外,HashMap和之间有什么区别HashSet

我的意思是实施明智?它有点模糊,因为它们都使用哈希表来存储值.

java collections hashmap hashset

160
推荐指数
7
解决办法
23万
查看次数

HashSet <T>和List <T>有什么区别?

你能解释一下HashSet<T>List<T>.NET 之间有什么区别吗?

也许你可以用一个例子来解释在什么情况下HashSet<T>应该首选List<T>

谢谢.

.net list hashset difference

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