标签: hashset

Hashset <T> < - 它在我的电脑中无效

我想在我的程序中使用HashSet.

但我不能宣布HashSet.

我的电脑安装了Microsoft .Net FrameWork 3.5.

而且我也声明了命名空间.(使用System.Collections.Generic)

但它没有用.

我如何解决这个问题?

我使用visual studio 2005(c#)和Windows 7.

谢谢.

c# hashset

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

为什么我的哈希图不起作用?我的对象具有以下属性:hashCode()相等意味着equals(...)相等

为什么我的Java HashMap不起作用?我的对象具有.equals平等意味着hashCode平等的属性。

您可以假定将对象添加到中之后,正在修改对象的字段HashMap

java hashtable hashmap hashset

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

具有较大值的奇怪HashSet行为

我在Java中使用已实现的HashSet找到了一个(对我来说)无法解释的行为.我像这样实现了HashSet并用列表的值填充它.

HashSet<Integer> set = new HashSet<Integer>(list);
Run Code Online (Sandbox Code Playgroud)

我首先使用包含数字0到9的数字列表来填充HashSet:

示例: {1,0,5,9,6,7,3,1,3,6,1,5,1,3,4,9,9,7}
输出: [0, 1, 3, 4, 5, 6, 7, 9]

由于HashSets通常以递增的排序顺序返回值,直到现在一切正常.但是当我开始使用包含更大vaues的列表时,它会以奇怪的方式开始回馈值:

示例:{67,1,122,19,456,42,144,42,3,34,5,5,42}
输出:[1, 34, 67, 3, 5, 456, 42, 144, 19, 122]

我读到了一些关于这取决于这里的内部哈希算法:Java HashSet以奇怪的顺序显示列表,总是从3开始,但这更令人困惑,因为我使用完全相同的HashSet只是具有不同的值.

可以请有人解释我为什么会这样吗?

java sorting list hashset

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

在2个哈希集之间交换元素c#

如果我有2个大小为5的哈希集,我如何从第一个哈希集中获取x项并将它们与第二个哈希集中的x项交换?

例如 :

          HashSet 1 has elements = {a , b, c , d ,e}
          HashSet 2 has elements = {r , s ,t ,u , w}
Run Code Online (Sandbox Code Playgroud)

交换后我想获得:

          HashSet 1 = {r, s , c ,d e}
          HashSet 2 = {a, b, t , u ,w}
Run Code Online (Sandbox Code Playgroud)

我不需要特别的订单.

c# hashset

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

为什么HashSet不能保持唯一性?

考虑员工类 -

public class Employer implements Serializable{

  private Long id;
  private String name;

  @Override
  public boolean equals(Object obj) {

    if (obj == null)
        return false;
    if (obj instanceof Employer) {
        Employer employer = (Employer) obj;
        if (this.id == employer.id) {
            return true;
        } 
    }
    return false;
  }

  //Idea from effective Java : Item 9
  @Override
  public int hashCode() {
    int result = 17;
    result = 31 * result + id.hashCode();
    //result = 31 * result + name.hashCode();
    return result;
  } …
Run Code Online (Sandbox Code Playgroud)

java hashset

-3
推荐指数
2
解决办法
277
查看次数

HashSet&lt;int&gt; 中的哈希性能与包含的 List&lt;int&gt;

我正在寻找整数列表与整数散列集之间的比较/性能考虑因素。这就是HashSet<T> 和 List<T> 的区别是什么谈论T为整数。

我将有多达几千个整数,我想找出单个整数是否包含在这个集合中。

现在当然这对散列集大喊大叫,但我想知道散列在这里是否有益,因为它们只是开始时的整数。首先散列它们不会在这里增加不必要的开销吗?

或者换句话说:使用散列集是否有益,即使对于整数集?

c# hash performance hashset

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

为什么 HashSet 不按照代码中的顺序添加对象?

这是我试过的。

import java.util.*;
public class SetDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        HashSet<String> s1=new HashSet<String>();
        s1.add("Java");
        s1.add("C++");
        s1.add("C");
        s1.add("dotNet");
        s1.add("JavaScript");
        s1.add("Script");
        s1.add("Python");
        s1.add("JavaScript");
    }
}
Run Code Online (Sandbox Code Playgroud)

输出 [Java、Script、C++、dotNet、C、JavaScript、Python]

编辑:刚读完这个,我想这可能是我问的问题的答案

java hashset

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

如何在Java中将HashSet转换为ArrayList?

我有一个HashSet<ArrayList<String>>名为possibleRoutes并希望将其转换为类型ArrayList<ArrayList<String>>.

你如何转换HashSet<Arraylist<String>>ArrayList<ArrayList<String>>Java中?

java arraylist hashset

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

向 Map 内的 Set 添加值

如何向 HashMap 内的 HashSet 添加值?

Map<String, Set<String>> myMap;
Run Code Online (Sandbox Code Playgroud)

java dictionary hashmap set hashset

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

哈希集订购问题

最近我遇到了这个

String s = "9495963";
Set<Character> set = new HashSet<Character>();
for(char e : s.toCharArray()){
  set.add(e);
}
System.out.println(set);//[3, 4, 5, 6, 9]
Run Code Online (Sandbox Code Playgroud)

我得到的输出是[3,4,5,6,9],所以,如果HashSet不保留任何顺序,那么为什么这些数字按升序排列?

java hashset treeset

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

如果我将所有 [1, 2, 3, ..., n] 放入具有任何混洗顺序的 HashSet 并迭代 HashSet,为什么我会得到一个有保证的排序顺序?

PS:这个 HashSet 是如何产生排序输出的? 这篇文章没有回答我的问题。我知道如果我将任何数字放入哈希集中,我将不会得到排序顺序。

但是,我发现如果我将所有 [1, 2, 3, ..., n] 放入具有任何混洗顺序的 HashSet 中并迭代 HashSet,我将得到一个guranteed sorted order。我不明白为什么它总是会发生。我已经多次测试过任何 n < 10000 ,它总是正确的,因此这不应该是巧合,应该有一些原因!即使我不应该依赖这个实现细节,请告诉我为什么它总是发生。

PS:我知道如果我将 [0,1,2, ..., n-1] 或 [1+k, 2+k, .., n+k] (k != 0) 插入 HashSet,迭代顺序未排序,我已经测试过。HashSet 的迭代顺序未排序是正常的。但是,为什么 [1,2,3,4,..,n] 的任何插入顺序都意外地总是正确的?我已经检查了实现细节。如果我跟踪路径,整个过程将包括调整桶数组的大小,以及从链表到红黑树的转换。如果我以无序的顺序插入整个 [1-n],则 HashSet 的中间状态是未排序的。但是,如果我完成所有插入,它会意外地排序。

我使用 JDK 1.8 进行了以下测试。

public class Test {

    public static void main(String[] args) throws IOException {
        List<Integer> res = printUnsortedCase(10000);
        System.out.println(res);
    }


    private static List<Integer> printUnsortedCase(int n){
        List<Integer> res = new …
Run Code Online (Sandbox Code Playgroud)

java hashmap hashset

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

HashSet允许添加重复元素

绊倒我发现这个非常有趣的程序,允许添加重复元素HashSet.我希望有人可以很好地解释它

public class Human implements Comparable<Human> {
    Integer age;
    public Human(int age) {
    this.age = age;
    }
    public int compareTo(Human h) {
    return h.age.compareTo(this.age);
    }
    public String toString() {
    return ""+this.age;
    }

}
Run Code Online (Sandbox Code Playgroud)

主要课程

public class Test {
    public static void main(String[] args) {
        Set<Human> humans = new HashSet<Human>();
        humans.add(new Human(13));
        humans.add(new Human(33));
        humans.add(new Human(21));
        humans.add(new Human(21));
        System.out.println("Size : "+humans.size());
        System.out.print(humans);
    }

    }
Run Code Online (Sandbox Code Playgroud)

预期产出: [21, 33, 13]

取而代之的是: [21, 21, 33, 13]

java hashset

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

标签 统计

hashset ×12

java ×9

c# ×3

hashmap ×3

arraylist ×1

dictionary ×1

hash ×1

hashtable ×1

list ×1

performance ×1

set ×1

sorting ×1

treeset ×1