2019.8.6 NIIT第二十一天 /种一棵树最好的时间就是十年前,和现在/
Map集合
TreehMap 根据key进行自然排序 static关键字:被static修饰过的属性或方法在内存中只存一份,jvm启动的时候扫描,被static修饰的方法和属性,在内存中创建出来,所以可以直接调用
collections
可变参数 public static boolean addAll(Collection<? super T> c,T... elements) 其中的T... elements表示传入的参数个数不固定 具体情况可以按照具体业务逻辑需求自主添加
//m1方法中第一个参数是int类型,后面可以有N个参数,类型随意
public void m1(int i,Object...obj) {
System.out.println("i:"+i);
for(int j=0;j<obj.length;j++) {
System.out.println(obj);
}
}
Collections类
shuffle方法的作用:打乱集合 sort方法的作用:进行排序 public static int binarySearch(List<? extends Comparable<? super T>> list,T key)二分法查找,需要先进行排序
排序算法进行了解
常用方法代码
public class TestColleantions {
public static void main(String[] args) {
List<Integer> list=new ArrayList();
for(int i=0;i<10;i++) {
list.add(i);
}
for (Integer integer : list) {
System.out.print(integer+" ");
}
System.out.println();
Collections.shuffle(list);
for (Integer integer : list) {
System.out.print(integer+" ");
}
Collections.sort(list);
System.out.println();
for (Integer integer : list) {
System.out.print(integer+" ");
}
System.out.println();
//如果有返回索引值,没有返回-1
int index=Collections.binarySearch(list, 5);
System.out.println(index);
}
}
Arrays方法
Arrays方法类用来管理数组:静态可直接调用 toString方法:[1,2,3,4]部分代码
StringBuilder b = new StringBuilder();
b.append('[');
for (int i = 0; ; i++) {
b.append(a[i]);
if (i == iMax)
return b.append(']').toString();
b.append(", ");
}
Arrays可以与List进行互相转换
数组转集合使用: public static List asList(T... a)
Integer[] a={1,2,3,4,5,6,7}
List<Integer> list=Arrays.asList(a);
集合转数组 public Object[] toArray()
a=(Integer[])list.toArray();
File类
File类的概念:表示文件和文件夹 构造方法: public File(String pathname) 直接写路径 public File(File parent,String child)文件夹下的子文件(文件夹) File(String parent, String child) 文件路径下的子文件(文件夹也可以)
File类获取方法
public String getAbsolutePath() 获取绝对路径 public String getPath() 获取路径(用什么方式创建的对象,就返回什么方式的路径(绝对路径/相对路径)) public String getName() 获取文件/文件夹的名称 public String getParent() 返回所在文件夹路径(根据创建对象时是否为绝对路径/相对路径)
File类的创建与删除方法
public boolean delete() 删除文件 public boolean createNewFile() throws IOException 创建文件在创建文件时,如果文件所在的文件夹不存在,则报错系统找不到指定的路径.创建文件时,必须确保文件夹已经存在 创建文件的时候上级目录必须要存在,不然会报错 只能创建文件而非文件夹 public boolean mkdir() 使用mkdir方法创建文件夹时,必须保证其所在文件夹已经存在,否则创建失败(不会报错) public boolean mkdirs() 一次性创建多级目录 目标文件夹如果已存在,就不会再次创建 public boolean delete() 删除文件夹不能为非空(有东西),否则删除失败 返回的boolean表示是否删除成功,当文件夹不存在的时候,删除失败
File类的判断方法
public boolean exists() 文件或者文件夹是否存在 public boolean isDirectory() 判断文件对象是否为文件夹 public boolean isFile() 判断文件对象是否为文件
文件复制问题需要考虑: 到目标位置创建目录 然后创建文件 把源文件读入内存 从内存中把信息输出到目标位置
- 新建File对象,关联到源地址
- 新建File对象,关联到目标地址
- 判断目标地址的目录是否存在
- 获取源文件的文件名,getName()
- 关联到目标文件
- 判断目标文件是否存在,若不存在则创建文件
- 完成复制操作
主要用于判断文件是否存在