一、容器
a.容器:用来放置对象或基本数据类型
b.数组本身就相当于一种容器
c.泛型:相当于在容器上贴上标签,帮助我们建立类型安全的集合
1.collection容器
在容器上运用泛型时,需要在new的时候加入对容器里面对象的类型条件,比如说想要一个容器里面全部都是字符串,可以这样new:
Collection<String> c=new ArrayList<>(); //已经定义泛型为String,所以下面也必须是字符串
容器里需要需要 增加元素时:
c.add("xxx");
c.add("yyyyy");
collection容器里面常用的方法:
(1)、元素个数:c.size()
(2)、判断容器是否为空:c.isEmpty()
(3)、判断容器里是否包含某个元素:c.contains(元素)
(4)、移除:c.remove(元素) 移除而不是删除,相当于定义的对象会生成一个地址,把地址放进容器,remove会把地址移除,而对象并没有被删除。
(5)、移除全部:c.clear()
(6)、如果对于两个容器A,B:
A.addAll(B) 把B全部加到A
A.removeAll(B) 把A.B共有的除去
A.retainAll(B) 把A.B共有以外的除去
2.List容器
List容器是有序、可重复的容器
有序:每个元素都有索引标记,可以根据索引标记访问元素,与数组类似
可重复:list允许加入重复的元素,满足equals判断的元素
new的时候与collection相似
List<String> list=new ArrayList<>();
List容器里常用的方法:
(1)、加入新的元素:list.add("A");
list.add("B");
(2)、在某位置插入元素:list.add(2,"C"); //在2位置插入元素C
(3)、移除某位置的元素:list.remove(2); //移除2位置上的元素
(4)、将某位置上的元素改为:list.set(2,"D") ; //将2位置的元素改为D
(5)、返回某个元素的索引位置:
System.out.println(list.indexOf("B")); //返回索引位置,找不到的话返回-1
System.out.println(list.lastIndexOf("B")); //从后往前找
二、IO File
1.path路径
(1)、构建File对象的几种不同方法
(2)、File的相对路径和绝对路径
(3)、构建文件
public class path {
public static void main(String[] args) {
String path="D:\\eclipse-workspace\\pro1\\src\\IO\\IO.jpg";
//1、构建File对象
File src=new File(path);
System.out.println(src.length());
System.out.println("###########");
//2、构建File对象
src=new File("D:/eclipse-workspace/pro1/src/IO","IO.jpg"); //只要拼的出来路径就可以,要求并不严格
src=new File("D:/eclipse-workspace","pro1/src/IO/IO.jpg");
System.out.println(src.length());
System.out.println(src.length());
System.out.println("###########");
//3、构建File对象
src =new File(new File("D:/eclipse-workspace/pro1/src/IO"),"IO.jpg");
System.out.println(src.length());
System.out.println("############");
//绝对路径
File src1=new File(path);
System.out.println(src1.getAbsolutePath());
//相对路径
//相对于当前目录pro1
src1=new File("IO.jpg");
System.out.println(src1.getAbsolutePath());
//构建不存在的文件
src1 =new File("aaa/IO.jpg");
System.out.println(src1.getAbsolutePath());
}
}
2.File文件
(1)、文件的基本信息
//基本信息
System.out.println("名称:"+src.getName()); //get名称
System.out.println("绝对路径:"+src.getAbsolutePath()); //get绝对路径
System.out.println("路径:"+src.getPath()); //get路径(相对还是绝对看自己定义的)
System.out.println("父路径:"+src.getParent()); //get父路径,上路径,上路径不存在返回0
System.out.println("父对象:"+src.getParentFile().getName());
System.out.println("###########");
(2)、文件状态
//文件状态
System.out.println("是否存在:"+src.exists()); //是否存在
System.out.println("是否文件:"+src.isFile()); //是否文件
System.out.println("是否文件夹:"+src.isDirectory()); //是否文件夹
(3)、文件长度
//文件长度
src =new File("D:/eclipse-workspace/pro1/src/IO/IO.jpg");
System.out.println("长度"+src.length()); // 返回文件长度
src=new File("D:/eclipse-workspace/pro1/src/IO");
System.out.println("长度"+src.length()); //文件夹长度返回0
(4)、创建文件
//创建文件
src =new File("D:/电影/华语/大陆/IO_studuy");
boolean flag=src.createNewFile();
System.out.println(flag); //创建不存在的文件
flag=src.delete();
System.out.println(flag); //删除创建的文件