小编Geo*_*kov的帖子

为什么ArrayList比java中的HashSet更快?

我曾经认为HashSet是一个非常快速的数据结构实现,因为它使用了哈希(并且反过来通过HashMap实现).我正在解决一些问题并决定检查性能问题,所以这里是:

给你一个带数字的数组 - [11,3,11,11,3,2,0,-2,2]你应该编写一个函数来返回出现"奇数"次数的数字.

这是我的解决方案:

public class OddNumInArray {

public static List<Integer> oddNumList(int [] ar){
    Collection <Integer> l = new ArrayList<>();
    for (int n: ar) {
        if (l.contains(n)) {
            l.remove(n);
        }
        else {
            l.add(n);
        }
    }
    return (List) l;
}

public static Set<Integer> oddNumHSet(int [] ar){
    Set <Integer> l = new HashSet<>();
    for (int n: ar) {
        if (l.contains(n)) {
            l.remove(n);
        }
        else {
            l.add(n);
        }
    }
    return l;
}

public static void main(String [ ]arg) {
    int [] a1 …
Run Code Online (Sandbox Code Playgroud)

java performance arraylist hashset

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

java中字符串引用的相等性

你能解释一下为什么我有"假"输出?如果我理解正确,引用指向同一个对象!

public class mainC {
    String str1,str2;
    public static void main(String [] args){
        mainC m=new mainC();
        m.str1="a";
        m.str2="b";
        System.out.print("m.str1 == m.str2: "+m.str1 == m.str2);
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

java string reference

0
推荐指数
1
解决办法
85
查看次数

标签 统计

java ×2

arraylist ×1

hashset ×1

performance ×1

reference ×1

string ×1