試圖找到一個java相當於該行Perl代碼的:Java的等價Perl函數只打印唯一行?
perl -ne 'print unless $a{$_}++'
做了一些環顧四周,但無濟於事! 乾杯, Ger
試圖找到一個java相當於該行Perl代碼的:Java的等價Perl函數只打印唯一行?
perl -ne 'print unless $a{$_}++'
做了一些環顧四周,但無濟於事! 乾杯, Ger
因爲它是瑣事般的問題,而不是真正的生產問題,那麼我認爲,Java 8是允許的。
Java 6的解決辦法是這樣的:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
public class PrintUnique {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Set<String> lines = new HashSet<String>();
String line;
while((line = br.readLine()) != null) {
if(lines.add(line))
System.out.println(line);
}
}
}
看看'地圖#putIfAbsent'。它只會在第一次調用時返回null。 – Thilo