学习HashSet遇到的问题的解决

import java.util.*;
public class SetTest {

public static void main(String[] args){
    Set<String> words = new HashSet<>();
    long totalTime = 0;
    
    Scanner in = new Scanner(System.in);
    while(in.hasNext()){
        String word = in.next();
        long callTime= System.currentTimeMillis();
        words.add(word);
        callTime = System.currentTimeMillis() - callTime;
        totalTime += callTime;
        
    }
    
    Iterator<String> iter =words.iterator();
    for(int i= 0 ; i != 20 && iter.hasNext(); i++)
        System.out.println(iter.next());
    System.out.println("...");
    System.out.println(words.size() + " distinct words  "+totalTime + "milliseconds.");
}
}

学习HashSet的结构,在书中看到的代码
然后 按照书中的运行 java SetTest > alice30.txt
运行失败,提示没有运行成功,所以查资料,发现是java的环境没有搭好
解决的网站
按照这里搭建成功


途中学习到Run AS configurations的arguments可以添加main的输入
在指定文件夹点击shift,可以打开让命令行直接进入该文件夹


代码中的知识点

1.Scanner类

java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入。

使用

Scanner s = new Scanner(System.in);

  1. Scanner 类的 next() 与 nextLine() 方法获取 输入的字符串,在读取前我们一般需要 使用 hasNext 与 hasNextLine 判断是否还有输入的数据:
    next 和 nextLine
    next是省略空格,读取字符(类似c++的cin>>)
    nextLine是读取行

  2. 如果要输入 int 或 float 类型的数据,在 Scanner 类中也有支持,但是在输入之前最好先使用 hasNextXxx() 方法进行验证,再使用 nextXxx() 来读取:
    demo

2.HashSet

1.是一个保存元素的容器,但是不允许有相同个元素,插入,删除效率高
定义

Set<String> names = Hash<>();
添加元素
name.add("yhq");
使用迭代器遍历
Iterator iter = name.iterator();
while(iter.hasNext){
System.out.println(iter.next());
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java8张图 11、字符串不变性 12、equals()方法、hashCode()方法的区别 13、...
    Miley_MOJIE阅读 3,788评论 0 11
  • 实际上,HashSet 和 HashMap 之间有很多相似之处,对于 HashSet 而言,系统采用 Hash 算...
    曹振华阅读 2,535评论 1 37
  • java笔记第一天 == 和 equals ==比较的比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量...
    jmychou阅读 1,552评论 0 3
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 1,975评论 0 2
  • 1.相对循环论。好的里面有坏的,坏的里面又有好的,物极必反,福祸相依,生死轮回。从坏事中明白好,从好事中了解坏,即...
    Eric小风阅读 182评论 0 0