数组的长度是固定的,集合的长度是可变的。

I. Collection接口

  • collection 接口时层次结构中的根接口,构成其的单位称为元素。

  • 常用方法:

    方法 功能描述
    add(E e) 将指定的对象添加到该集合中
    remove(Object o) 将指定的对象从该集合中移除
    isEmpty() 返回boolean值,用于判断当前集合是否为空
    iterator() 返回在此Collection的元素上进行迭代的迭代器,用于遍历集合中的对象
    size() 返回int型值,获取该集合中元素的个数
  • 通过迭代器遍历:

    1
    2
    3
    4
    5
    6
    7
    import java.util.*;
    Collection<String> list = new ArrayList<>(); //将List实现类向上转型
    Iterator<String> it = list.iterator(); //创建迭代器
    while(it.hasNext()) {
    //do something
    String str = (String) it.next();
    } //遍历

    tips:Iteratornext() 方法返回的是 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
2
3
File file = new File("word.txt");
file.delete(); //删除文件
file.creatNewFile(); //创建文件

常用方法

方法 返回值 说明
getName() String 获取文件名称
canRead() boolean 判断文件是否为可读的
canWrite() boolean 判断文件是否可被写入
exits() boolean 判断文件是否存在
length() long 获取文件的长度(以字节为单位)
getAbsolutePath() String 获取文件的绝对路径
getParent() String 获取文件的父路径
isFile() boolean 判断文件是否存在
isDirectory boolean 判断文件是否为一个目录
isHidden() boolean 判断文件是否为隐藏文件
lastModified() long 获取文件最后修改时间