文章目录
LinkedList, Map和File类
1. LinkedList
1.1 链表结构简述
1.2 链表结构常用方法
package com.qfedu.a_linkedlist;
import jdk.nashorn.internal.ir.CallNode;
import java.util.LinkedList;
public class Demo1 {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
list.add("老碗面");
list.add("黄焖鸡米饭");
list.add("黄焖酥肉米饭");
list.add("韭菜猪肉饺子");
System.out.println(list);
list.addFirst("胡辣汤");
list.addLast("烩面");
System.out.println(list);
list.removeFirst();
System.out.println(list);
list.removeLast();
System.out.println(list);
String first = list.getFirst();
System.out.println(first);
System.out.println(list);
String last = list.getLast();
System.out.println(last);
System.out.println(list);
}
}
1.3 队列和堆栈
队列:
排队!!!
先到先得,后来者排队
LinkedList需要了解的方法:
addLast(); removeFirst(); getFirst();
堆栈:
弹夹!!!
新进后出
LinkedList需要了解的方法:
addLast(); removeLast(); getLast();
2. Map
2.1 什么是Map
双边队列
保存数据的形式都是【键(Key)值(Value)对】形式
生活中的键值对:
姓名: 骚磊
身份证号: 410502200312310011;
年龄: 未满16周岁
娘娘 邓超
张国立 邓婕
2.2 Map接口下的常用方法
Map<K, V>
表示存放的元素都是键值对形式,K用于约束键对应的数据类型,V用于约束值对应数据类型。
--| HashMap<K, V>;
--| TreeMap<k, V>;
要求【键】不可重复!!!
常用方法:
增:
put(K key, V value);
在Map双边队列中存入对应的键值对
putAll(Map<? extends K, ? extends V> map);
在一个Map双边队列中存入另一个Map双边队列,要求其中存放的键值对和当前
Map一致
删:
remove(Object key);
根据Key删除对应的键值对
改:
put(K key, V value);
Map双边队列中键存在,修改对应键保存的值
查:
int size();
有效键值对个数
boolean isEmpty();
判断当前Map双边队列中存放的键值对是否为0
boolean containsKey(Object key);
判断指定的键是否存在
boolean containsValue(Object value);
判断指定的值是否存在
Set<K> keySet();
获取Map双边队列中所有键的Set集合
Collection<V> values();
获取Map双边队列中所有值对应的Collection集合
3. File类
3.1 File类的作用
文件和文件夹操作,这里不涉及文件内容操作!!!
File类是SUN公司提供的用于管理文件和文件夹,本身参考的方式是系统的中的
【万物皆文件】
文件操作
读!
写!
缓存概念:
提高软件,程序的加载效率,提高用户体验。
文件内容操作
文件 保存在硬盘中
读取文件从硬盘到内存
写入文件从内存到硬盘
创建File类对象
File(String pathName);
根据提供的文件对应路径,创建对应的File类对象
File(String parent, String child);
根据提供的父目录路径,和对应子文件或者子文件夹名创建对应的File类对象
File(File parent, String child);
根据提供的父目录File类对象,和对应的子文件或者子文件夹名创建对应的
File类对象
3.2 创建文件和文件夹
boolean createNewFile();
/*
使用File类对象调用,创建对应的File类对象保存的对应路径普通文件
创建成功返回true,创建失败返回false
为什么是失败:
1. 路径不合法!!!
2. 文件已存在!!!
3. 磁盘GG思密达!!!
4. 对应文件夹没有写入权限!!! Linux
*/
boolean mkdir();
/*
使用File类对象调用,创建对应的File类对象保存路径的文件夹
创建成功返回true,失败返回false
为什么会失败:
1. 路径不合法!!!
2. 文件夹已存在!!!
3. 磁盘GG思密达!!!
4. 对应文件夹没有写入权限!!!
*/
boolean mkdirs();
/*
BT方法
*/
boolean renameTo(File dest);
/*
使用File类对象调用,操作File类对象对应文件或者文件夹,转换为指定的dest File类对象
1. 重命名
2. 移动文件
*/
3.3 删除文件和文件夹
boolean delete();
删除指定File类对象对应的文件或者文件夹
要求:
文件夹必须是空文件夹
删除文件是直接抹掉数据
void deleteOnExit();
在程序退出时删除调用该方法的File类对象对应文件或者文件夹
删除当前程序对应的缓冲文件,错误日志文件,操作日志文件,从而节约磁盘空间!!!
3.4 获取文件属性的方法
// 以下方法都是唬人的!
String getPath();
获取创建File类对象对应的路径
String getParent();
获取当前File类对象对应文件或者文件夹的上级目录
String getName();
获取当前File类对象对应的文件名或者文件夹名
String getAbsolutePath();
获取当前File类对象对应的绝对路径[有点用]
// 以下方法有用
long lastModified();
获取当前文件上一次的修改时间戳
从1970 1 1 00:00:00 到现在的秒数
long length();
获取当前文件占用的硬盘空间字节数
3.5 判断方法[有用]
boolean exists();
判断文件是否存在
boolean isFile();
判断是不是普通文件
boolean isDirctory();
判断是不是文件夹
boolean isAbsolute();
判断当前File类对象创建使用路径是不是绝对路径
boolean isHidden();
判断是不是隐藏文件
3.6 FilenameFilter接口
文件名过滤器接口
可以用于在File类 list() listFiles()方法内使用,满足要求的文件可以存入对应的数组中。
方法:
boolean accept(File dir, String name)
希望大家关注我一波,防止以后迷路,有需要的可以加我Q讨论互相学习java ,学习路线探讨,经验分享与java Q:2415773436