Day 17 Map and File

Day 17 Map and File

Author: ScorpioDong

1. Map bilateral queue

1.1 What is the Map

键(Key)值(Value)对

程序开发中大部分数据都是键值对形式的
	MySQL JSON XML 类对象成员变量和存储的数据
	从前端发送的的数据可以转成Map格式 ==> 一键生成类对象 ==> 一键存储到数据库
	
interface Map<K, V>
--| class HashMap<K, V> 哈希表结构
--| class TreeMap<K, V> 树形结构,K有对应的排序方式

Map双边队列中,键是唯一的,值可以重复

1.2 Map bilateral queue method

  • increase
    • put(K k, V v): Stored in a key-value pair, kv line with generic constraints
    • putAll(Map<? extends K, ? extends V> map)
  • delete
    • remove(Object k): Delete k corresponding key-value pairs
  • change
    • put(K k, V v): K associated with the current presence
  • check
    • int size()
    • boolean isEmpty()
    • boolean containsKey(Object key)
    • boolean containsValue(Object value)
    • Set<K> keySet()
      • Set to return a collection of bilateral Map Key corresponding queue
    • Collection<V> values()
      • Value corresponding to the queue return Map bilateral collection Collection

1.3 EntrySet

Entry 可以认为是键值对对象
定义在Map类内
	class Entry<K, V> {
		K k;
		V v;
	}
	K,V是完全依赖于Map约束的,这里可以Entry里面保存的是每一个键值对类对象

Map中提供了一个方法
	Set<Entry<K, V>> entrySet
	返回值是键值对类对象Set集合
	Set集合中存储的是Entry类型
	Entry类型是带有泛型的

1.4 TreeMap <K, V> and Comparable and Comparator

K是需要有对应的比较方式,如果没有比较方式,无法存入。

推荐使用Comparator接口

2. File class

2.1 What is the File class

SUN公司提供给开发者操作文件和文件夹的一个类对象
	Java中一切皆对象,计算机中一切皆文件
	
获取File类的三种方式(Constructor)
	File(String pathName);
	File(String parent, String child);
	File(File parent, String child);
	
File.separatorChar 根据系统区分不同分隔符

2.2 create files and folders

boolean createNewFile();
	通过File类对象调用,创建对应File类对象中保存的路径的普通文件。
	返回false原因
		1. 路径不合法
		2. 对应文件夹没有写入权限
		3. 文件已存在

boolean mkdir();
	通过File类对象,创建对应File类对象中保存路径的文件夹
	返回false的原因
		1. 路径不合法
		2. 对应文件夹没有写入权限
		3. 文件夹已存在

mkdirs();
	创建文件夹,多重路径同时创建
	
boolean renameTo(File dest);
	通过File类对象调用,转为目标File类对象dest
	文件、文件夹移动,重命名

2.3 Delete files or folders

booelan delete();
	通过File类对象调用,删除对应的文件或文件夹
	要求
		1. 删除的文件或文件夹,直接抹掉
		2. 非空文件夹无法删除
	
void deleteOnExit();
	程序退出时删除对应文件或文件夹
	用于删除文件运行过程中,留下的日志文件,缓存文件,操作日志...

Analyzing the file attributes 2.4

boolean isFile();
boolean isDirctory();
boolean isAbsolute();
	是否使用了绝对路径
boolean isHidden();
	是否是隐藏文件
boolean exists();
	文件是否存在

2.5 get the file attributes

String getPath()
String getName()
String getParent()
String getAbsolute()

long lastNodified()
	获取文件的最后一次修改时间,返回值是一个时间戳类型

long length()
	获取文件大小,占用硬盘空间字节数

2.6 List method

static File[] listRoots();
	只针对Windows有效,获取当前电脑内所有根盘符对象
File[] listFiles();
	通过File类对象调用,获取当前File类对象对应的文件夹下的所有子文件或子文件夹File对象
String[] list();
	通过File类对象调用,获取当前File类对象对应的文件夹下的所有子文件或子文件夹名字String类型

2.7 FileNameFilter

interface FileNameFilter {
	boolean accept(File dir, String name);
}

3. Common API - String

使用双引号包含的字符串都是字符串常量
双引号包含的字符串都是存在与内存的【数据区】

* 字符串常量操作中,使用原本的两个字符串拼接之后完成一盒心得字符串常量

这里导致的字符串冗余问题,后期会使用StringBuilder和StringBuffer解决
Published 12 original articles · won praise 7 · views 483

Guess you like

Origin blog.csdn.net/m0_37771142/article/details/104503115