hashset不重复输出问题
public static void main(String[]args){
File f=new File( "c:\\新建 文本文档.txt ");
HashSet ddd=new HashSet();
String temp=null;
try{
BufferedReader buffer=new BufferedReader(new FileReader(f));
while((temp = buffer.readLine())!= null){
temp = temp.trim().substring(0,11);
ddd.add(temp);
System.out.println( "\nHashSet: ");
System.out.println(ddd);
Iterator iterator=ddd.iterator();//取出元素
while(iterator.hasNext()){
System.out.print(iterator.next()+ "\n ");
}
}
111133333333
222233333333
444433333333
222233333333
会打出
HashSet:
[11113333333]
11113333333
HashSet:
[22223333333, 11113333333]
22223333333
11113333333
HashSet:
[44443333333, 22223333333, 11113333333]
44443333333
22223333333
11113333333
HashSet:
[44443333333, 22223333333, 11113333333]
44443333333
22223333333
11113333333
我想让他只打出最后一排数据 怎么改??谢谢
------解决方案--------------------不知道你想打出什么东西出来
public static void main(String[] args)
{
File f = new File( "c:\\a.txt ");
HashSet ddd = new HashSet();
String temp = null;
try
{
BufferedReader buffer = new BufferedReader(new FileReader(f));
while ((temp = buffer.readLine()) != null)
{
temp = temp.trim().substring(0, 11);
ddd.add(temp);
System.out.println( "\nHashSet: ");
//System.out.println(ddd);
Iterator iterator = ddd.iterator();//取出元素
while (iterator.hasNext())
{
System.out.print(iterator.next() + "\n ");
}
}
}
catch (Exception e)
{
}
}
从一开始就请把代码写规整点来。
------解决方案--------------------while循环弄清楚,存完了再输出
BufferedReader buffer = new BufferedReader(new FileReader(f));
while ((temp = buffer.readLine()) != null) {
temp = temp.trim().substring(0, 11);
ddd.add(temp);
}
System.out.println( "\nHashSet: ");
System.out.println(ddd);
------解决方案--------------------/*
我想这不算是一个HASHSET的问题,而是WHILE循环作用域的问题
*/
import java.io.*;
import java.util.*;
public class Csdn1321{
public static void main(String[] args) throws
IOException{
File f = new File( "data ");
HashSet <String> ddd = new HashSet <String> (); //create a HashSet of Strings
String temp = null;
BufferedReader buffer = new BufferedReader(new FileReader(f));
while((temp = buffer.readLine())!=null){
temp = temp.trim().subString(0,11);
ddd.add(temp);
}
System.out.println( "\nHashSet: ");
System.out.println(ddd);
for(String s : ddd){
System.out.println(s);
}
}
}
------解决方案--------------------你的代码本来就没问题啊,可以过滤掉重复的记录啊。
------解决方案--------------------