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]
11113333333HashSet:
[22223333333, 11113333333]
22223333333
11113333333HashSet:
[44443333333, 22223333333, 11113333333]
44443333333
22223333333
11113333333HashSet:
[44443333333, 22223333333, 11113333333]
44443333333
22223333333
11113333333
我想让他只打出最后一排数据  怎么改??谢谢

解决方案 »

  1.   

    不知道你想打出什么东西出来    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)
            {        }
        }从一开始就请把代码写规整点来。
      

  2.   

    111133333333
    222233333333
    444433333333
    222233333333
    txt文挡里有这些数据,我想用hashset过滤掉其重复代码,Iterator iterator = ddd.iterator();//取出元素
                    while (iterator.hasNext())
                    {
                        System.out.print(iterator.next() + "\n");
                    }
    这里代码是有问题,我想输出是没有重复的号码,不知道怎么改呢
    谢谢了
      

  3.   

    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);
      

  4.   

    /*
    我想这不算是一个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);
    }
    }
    }
      

  5.   

    我文档里是这些数据:
    111133333333
    222233333333
    444433333333
    222233333333
    输出却是:
    HashSet:
    [11113333333]
    11113333333HashSet:
    [22223333333, 11113333333]
    22223333333
    11113333333HashSet:
    [44443333333, 22223333333, 11113333333]
    44443333333
    22223333333
    11113333333HashSet:
    [44443333333, 22223333333, 11113333333]
    44443333333
    22223333333
    11113333333简单的能过滤,,可数据一大,几十万个数字时,就很慢,我想只输出:
    HashSet:
    [44443333333, 22223333333, 11113333333]
    44443333333
    22223333333
    11113333333
    其他不要,要哪里改呢
      

  6.   

    while循环控制好,代码也贴过了,楼主怎么不看清楚呢
      

  7.   

    谢谢大家的帮助
    现在输出是
    HashSet:
    [44443333333, 22223333333, 11113333333]我想这样输出:
    4444333333
    2222333333
    1111333333  不知道有办法吗,谢谢,
      

  8.   

    torainer() 说的不就是你要的嘛,
    好傻的问题