Week 2
通过对一段故事文本中的动词,名词等随机替换,来学习ArrayList和HashMap.
ArrayList
- 为什么要用这个class?因为其他已知的都不适用
- StrorageResource: 不需要知道有多少elements。但是必须依序读取,不适合现在选取随机值。
- 读取文本文件的时候,用这个。【需要找个例子】
- String[] array: 选取随机值很容易(随机选择index即可),但是必须提前知道有多少elements。
- StrorageResource: 不需要知道有多少elements。但是必须依序读取,不适合现在选取随机值。
- 但是只能包含一种类型的内容,比如只是String。
实例如下:
- 方法
- add
- get(index)
- cars.set(index, “Opel”);
- cars.remove(index);
- cars.size();
- 如何引用一个新的project?【明天再试一下,感觉好像移到同一个文件夹就可以了呀,不用调整什么class path】
HashMap
重点:
1. key和value的东西都是objects。
2. .size() 可以找到unique key的个数
3. .keySet().contains() 可以查询key
4. 创建实例
应用
- 读取文件,并且依次将姓名和文件内容联系起来,储存在hashmap里。
需要小心的是 读取文件的时候,文件可能不存在,所以需要额外标记。
作业注意点
- while(input.hasNext())
- 这个语句是为了保证遍历文件里面一直有下一个单词。
- hasNext() 是检查next non-whitespace character
- hasNextLine() 是检查是否有下一行
- input.next().trim()
- .next()同理,不需要,再用trim来去掉空格。遇到空格的话就直接是下一个word了。
- File class
- File.getName()即可获取文件名字