0

そこから複製を使用して複製TreeSetを印刷する方法は?

テキスト ファイルからの重複なしで配列を埋めることができるメソッドを作成しました。今度は、それらの重複を別のファイルに書き込む必要があります。それ、どうやったら出来るの?

// method that gets that reads the file and puts it in to an array
public static void readFromfile() throws IOException {
    // Open the file.
    File file = new File("file.txt");
    Scanner inputFile = new Scanner(file);

    // create a new array set Integer list
    Set<Integer> set = new TreeSet<Integer>();
    // add the numbers to the list
    while (inputFile.hasNextInt()) {
        set.add(inputFile.nextInt());
    }
    // transform the Set list in to an array
    Integer[] numbersInteger = set.toArray(new Integer[set.size()]);

    // loop that print out the array
    for (int i = 0; i < numbersInteger.length; i++) {
        System.out.println(numbersInteger[i]);
    }

    // close the input stream
    inputFile.close();
}
4

2 に答える 2

4

TreeSetまたは anyに追加するときに重複を収​​集できSetます。

List<Integer> dups = new ArrayList<Integer>();
        Set<Integer> noDups= new TreeSet<Integer>();
int i;
        while (inputFile.hasNextInt()) {
        {
            if(!noDups.add(i=inputFile.nextInt()))
                dups.add(i);
        }
于 2013-05-16T10:31:51.930 に答える
2
List<Integer> duplicates = new ArrayList<Integer>();
        Set<Integer> set = new TreeSet<Integer>();
        // add the numbers to the list
        while (inputFile.hasNextInt()) {
            Integer it = inputFile.nextInt();
            if (set.contains(it)) {
                duplicates.add(it); // adding duplicates which is already present in Set
            } else {
                set.add(it); // if not present in set add to Set
            }
        }

// loop ArrayList print duplicates values
于 2013-05-16T10:29:29.610 に答える