小编cow*_*331的帖子

当它是像变量数组的值这样的参数时,如何更改Integer值?

public static void main(String[] args) {
    Integer i = new Integer(0);
    int[] arr = {1};
    p1(i);
    p2(arr);
    System.out.println(i);
    System.out.println(arr[0]);
}


public static void p1(Integer i) {
    i = 2;
}

public static void p2(int[] i) {
    i[0] = 2;
}
Run Code Online (Sandbox Code Playgroud)

//输出:0,2

我怎样才能更改i的值,就像我更改arr的值一样?

java integer pass-by-reference pass-by-value

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

如果hashset中只有一个元素,我怎么能把它拿出来?

HashSet<Integer> set = new HashSet<Integer>();
set.add(1);
Run Code Online (Sandbox Code Playgroud)

我怎么能1出来?我可以做到for(integer i : set).你有另一个想法来解决这个问题吗?

我指定的问题是"给定一个整数数组,每个元素出现两次,除了一个.找到那个单独的." 如果集合不包含它,我想在集合中使用add元素,并在循环期间删除现有元素.最后一个要素就是答案.我不知道如何归还它.

    public static int singleNumber(int[] A) {
    HashSet<Integer> set = new HashSet<Integer>();
    for (int a : A) {
        if (!set.contains(a)) {
            set.add(a);
        } else {
            set.remove(a);
        }
    }
    /**
     * for(Integer i : set) { return i; }
     *return A[0];//need one useless return
    /**
     * while(set.iterator().hasNext()) { return set.iterator().next(); }
     * return A[0];//need one useless return
     */
    return set.toArray(new Integer[1])[0];
}
Run Code Online (Sandbox Code Playgroud)

java hashset

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