集合类与I/O操作
数组的长度是固定的,集合的长度是可变的。
I. Collection接口
collection
接口时层次结构中的根接口,构成其的单位称为元素。常用方法:
方法 功能描述 add(E e) 将指定的对象添加到该集合中 remove(Object o) 将指定的对象从该集合中移除 isEmpty() 返回boolean值,用于判断当前集合是否为空 iterator() 返回在此Collection的元素上进行迭代的迭代器,用于遍历集合中的对象 size() 返回int型值,获取该集合中元素的个数 通过迭代器遍历:
1
2
3
4
5
6
7import java.util.*;
Collection<String> list = new ArrayList<>(); //将List实现类向上转型
Iterator<String> it = list.iterator(); //创建迭代器
while(it.hasNext()) {
//do something
String str = (String) it.next();
} //遍历tips:
Iterator
的next()
方法返回的是Object
。
II. List集合
List集合包括List接口以及List接口的所有实现类;
允许元素重复,元素顺序就是对象的插入顺序;
包含Collection中的所有方法,此外还有如下两个重要方法:
get(int index)
:获得指定索引位置的元素;set(int index, Object obj)
:将集合中指定索引位置的对象修改为指定的对象;实现类:
ArrayList
(数组实现)、LinkedList
(链表实现)。
III. Set集合
不按特定方式排序,不能包含重复元素,需要小心操作其中的可变对象;
实现类;
HashSet
:不保证迭代顺序永恒不变;TreeSet
:额外实现了java.util.SortedSet
接口,可以对集合中元素进行排序。
TreeSet
类增加的方法:方法 功能描述 first() 返回此Set中当前第一个(最低)元素 last() 返回此Set中当前最后一个(最高)元素 comparator() 返回对此set中的元素进行排序的比较亲。如果此Set使用自然顺序,则返回null headSet(E toElement) 返回一个新的Set集合,新集合是 toElement
(不包含)之前的所有对象subSet(E fromElement, E toElement) 返回一个新的Set集合,是 fromElement
(包含)对象与toElement
(不包含)对象之间的所有对象tailSet(E fromElement) 返回一个新的Set集合,新集合包含对象 fromElement
(包含)之后的所有对象
IV. Map集合
一个映射不能包含重复的key,每个key最多只有=能映射到一个值。
常用方法:
方法 功能描述 put(K key, V value) 向集合中添加指定的可以呢与value的映射关系 containsKey(Object key) 如果此映射包含指定key的映射关系,则返回true containsValue(Object value) 如果此映射将一个或多个key映射到指定值,则返回true get(Object key) 如果存在指定的key对象,则返回该对象对应的值,否则返回null keySet() 返回该集合中的所有key对象形成的Set集合 values() 返回该集合中所有值对象形成的Collection集合 实现类:
HashMap:基于哈希表实现,允许使用null值与null键,不保证顺序。(建议使用)
TreeMap:可排序,不允许null键。
V. File类
File构造方法
通过完整路径名(包含文件名):
1
File(String pathname);
通过父路径与子路径(包含文件名):
1
File(String parent, String child);
通过父路径对象与子路径(包含文件名):
1
File(File f, String pathname);
文件创建与删除
1 | File file = new File("word.txt"); |
常用方法
方法 | 返回值 | 说明 |
---|---|---|
getName() | String | 获取文件名称 |
canRead() | boolean | 判断文件是否为可读的 |
canWrite() | boolean | 判断文件是否可被写入 |
exits() | boolean | 判断文件是否存在 |
length() | long | 获取文件的长度(以字节为单位) |
getAbsolutePath() | String | 获取文件的绝对路径 |
getParent() | String | 获取文件的父路径 |
isFile() | boolean | 判断文件是否存在 |
isDirectory | boolean | 判断文件是否为一个目录 |
isHidden() | boolean | 判断文件是否为隐藏文件 |
lastModified() | long | 获取文件最后修改时间 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 可弟的杂货摊!
评论