Java第十三天:LinkedList, Map和File类

LinkedList, Map和File类

1. LinkedList
1.1 链表结构简述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y8UJK0DL-1584347106581)(.\img\链表结构.png)]

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值