技術メモ

神奈川在住のITエンジニアの備忘録。おもにプログラミングやネットワーク技術について、学んだことを自分の中で整理するためにゆるゆると書いています。ちゃんと検証できていない部分もあるのでご参考程度となりますが、誰かのお役に立てれば幸いです。

leetCode:260. Single Number III

leetCodeの「260. Single Number III」を解いた。
https://leetcode.com/problems/single-number-iii/

この問題に取り組んでいる中で、Javaのコレクションから配列に変換する簡単な方法を見つけたので、それも含めて解答をここに残しておく。

public int[] singleNumber(int[] nums) {
        Set<Integer> numSet = new HashSet<>();
        for (int num : nums) {
            if (numSet.contains(num)) {
                numSet.remove(num);
            }
            else {
                numSet.add(num);
            }
        }
        // ★stream API とラムダ式を使うことで、コレクションから配列に簡単に変換できる。
        return numSet.stream().mapToInt(i -> i).toArray();
    }