/** * filter the string. * * @return */ public LinkedHashSet<String> filter() {
// create a LinkedHashSet project. LinkedHashSet<String> linkedHashSet = new LinkedHashSet<String>(); try {
// read the file. InputStream inputStream = new FileInputStream("C:/init.txt"); InputStreamReader inputStreamReader = new InputStreamReader(inputStream); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String line = bufferedReader.readLine();
// add the string to the LinkedHashSet while(line != null) { linkedHashSet.add(line); line = bufferedReader.readLine(); }
所以说,用LinkedHashSet就行了
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.util.LinkedHashSet;/**
* delete the conflict String.
*
* @author Xxx
*/
public class Q16 {
/**
* generate the text.
*
*/
public void init() {
// write file
OutputStream outputStream = null;
try {
outputStream = new FileOutputStream("C:/init.txt");
for (int i = 0; i < 100000; i++) {
for (int j = 0; j < 2; j++) {
outputStream.write(("Hello" + i).getBytes());
outputStream.write("\r\n".getBytes());
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (outputStream != null) {
outputStream = null;
}
}
}
/**
* filter the string.
*
* @return
*/
public LinkedHashSet<String> filter() {
// create a LinkedHashSet project.
LinkedHashSet<String> linkedHashSet = new LinkedHashSet<String>();
try {
// read the file.
InputStream inputStream = new FileInputStream("C:/init.txt");
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String line = bufferedReader.readLine();
// add the string to the LinkedHashSet
while(line != null) {
linkedHashSet.add(line);
line = bufferedReader.readLine();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// return the result.
return linkedHashSet;
}
@Deprecated
public static void main(String[] args) {
Q16 q16 = new Q16();
// q16.init();
LinkedHashSet<String> linkedHashSet = q16.filter();
System.out.println(linkedHashSet.size());
}
}