试图找到这行Perl代码的java等价物:
perl -ne 'print unless $a{$_}++'
有些人环顾四周但无济于事! 干杯, GER
答案 0 :(得分:4)
由于它是一个类似琐事的问题,而不是真正的生产问题,我认为Java 8是允许的。
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class PrintUnique {
public static void main(String[] args) {
new BufferedReader(new InputStreamReader(System.in)).lines().distinct()
.forEach(System.out::println);
}
}
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);
}
}
}