java基础6

Map的遍历

Collection集合编列   (1)foreach   (2) Iterator对象遍历

map不持之foreach

shMap的内部存储结构其实是数组和链表的结合

 

 

 

//泛型的使用 一般使用

class Student<T>{

    private String name;

    private T score;

}

//指定泛型的上限

class Generic<T extends Person>{

...

}

 

//泛型的继承

class Son2<A,B> extends Father<Integer,String>{

}

//子类保留父类的泛型

//1)全部保留

class Son3<T1,T2,A,B> extends Father<T1,T2>{

}

//2)部分保留

class Son4<T2,A,B> extends Father<Integer,T2>{

}

 

 

多态的存在的三个前提:

①有继承关系

②自类要重写父类的方法

③父类引用指向自类的对象

Animal animal=new Cat()

 

这时候自类调用了方法的时候 就是调用了Cat中的重写的方法

但是对于Cat中自己的方法 就不能调用了

 

 

Collections工具类

  •  

    public static <T> boolean replaceAll(List<T> list,T oldVal,T newVal):使用新值替换 List 对象的所有旧值

  •  

    public static <T> void copy(List<? super T> dest,List<? extends T> src)将src中的内容复制到dest中

  •  

    public static void swap(List<?> list,int i,int j)将指定 list 集合中的 i 处元素和 j 处元素进行交换

  • public static <T extends Comparable<? super T>> void sort(List<T> list)根据元素的自然顺序对指定 List 集合元素按升序排序

  •  

    public static <T> void sort(List<T> list,Comparator<? super T> c)根据指定的 Comparator 产生的顺序对 List 集合元素进行排序

  •  

    public static <T extends Comparable<? super T>> void sort(List<T> list)根据元素的自然顺序对指定 List 集合元素按升序排序

  •  

    public static <T> T max(Collection<? extends T> coll,Comparator<? super T> comp)在coll集合中找出最大的元素,集合中的对象必须是T或T的子类对象,按照比较器comp找出最大者

 

File文件路径分隔符

File file1 = new File("d:\\myjava\\info.txt");

File file2 = new File("d:" + File.separator + "myjava" + File.separator + "info.txt");

File file3 = new File("d:/myjava/info.txt");

 

 

File类的常用方法之(一)

常用的方法:

1、获取文件或目录名:String getName()

  1.  

    获取文件大小:long length() 

  只能获取文件的大小,不能直接获取目录的大小(目录的大小由它的所有下级的大小的总和相加)

  •  

    数组有length属性:array.length

  •  

    字符串有length():str.length()

  •  

    文件有length():file.length()

3、获取文件的路径:

(1)getPath()

(2)getAbsolutePath()

如果file对象指定的就是绝对路径,两者一样,如果file指定的是相对路径,那么两者不一样

4、各种性质判断

(1)可读:canRead()

(2)可写:canWrite()

(3)可执行(Linux)

(4)是否隐藏:isHidden()

5、是文件还是目录

(1)是否是文件:isFile():注意,如果不存在的文件,默认返回false

(2)是否是文件夹:isDirectory():注意,如果不存在的目录,默认返回false

6、是否存在:boolean exists()

7、获取最后修改时间:long lastModified()

返回的是毫秒数,与时间点(1970 年 1 月 1 日,00:00:00 GMT)之间的毫秒数表示;

可以结合java.util.Date和java.text.SimpleDateFormat格式化

8、获取上级目录:

(1)String getParent():如果path中有指定父目录,就返回父目录,否则返回null

(2)File getParentFile()

File类的常用方法之(二)

操作文件或目录

  1.  

    创建文件:boolean createNewFile()throws IOException

如果指定的文件不存在并成功地创建,则返回 true;如果指定的文件已经存在,则返回 false

(2)创建临时文件,通常会结合public void deleteOnExit()使用

  •  

    public static File createTempFile(String prefix,String suffix) throws IOException在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。调用此方法等同于调用 createTempFile(prefix, suffix, null)。 prefix - 用于生成文件名的前缀字符串;必须至少是三字符长。suffix - 用于生成文件名的后缀字符串;可以为 null,在这种情况下,将使用后缀 ".tmp"

  •  

    public static File createTempFile(String prefix,String suffix,File directory)throws IOException在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。prefix - 用于生成文件名的前缀字符串;必须至少是三字符长。suffix - 用于生成文件名的后缀字符串;可以为 null,在这种情况下,将使用后缀 ".tmp" 。directory - 将创建的文件所在的目录;如果使用默认临时文件目录,则该参数为 null

(3)创建目录:

boolean mkdir() :必须确保父目录存在,否则创建失败

boolean mkdirs():如果父目录链不存在,会一同创建父目录链

(4)删除文件:boolean delete()  

当且仅当成功删除文件或目录时,返回 true;否则返回 false

如果是目录,那么只能删除空目录。否则需要先将目录下的所有内容删除才能将该目录删除。

(5)重命名:boolean renameTo(File dest)

File类的常用方法之(三)

(1)public String[] list()列出当前目录的下级内容

       返回的是下级的目录或文件的名称

(2)public File[] listFiles() 列出当前目录的下级内容

       返回的是下级的目录或文件对应的File对象

       配合递归  可以列出下级的下级....

  1.  

    public File[] listFiles(FileFilter filter)返回所有满足指定过滤器的文件和目录。如果给定 filter 为 null,则接受所有路径名。否则,当且仅当在路径名上调用过滤器的 FileFilter.accept(java.io.File) 方法返回 true 时,该路径名才满足过滤器。如果当前File对象不表示一个目录,或者发生 I/O 错误,则返回 null。

  2.  

    public File[] listFiles(FilenameFilter filter)返回所有满足指定过滤器的文件和目录。如果给定 filter 为 null,则接受所有路径名。否则,当且仅当在路径名上调用过滤器的 FilenameFilter.accept(java.io.File, java.lang.String) 方法返回 true 时,该路径名才满足过滤器。如果当前File对象不表示一个目录,或者发生 I/O 错误,则返回 null。

  3.  

    public static File[] listRoots()列出可用的文件系统根。

 

File file = new File("myjava");

File[] listFiles = file.listFiles(new FileFilter() {

@Override

public boolean accept(File pathname) {

//pathnamefile目录中的所有子目录或子文件

//如果只想要返回".java"结尾的

return pathname.getName().endsWith(".java");

}

});

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值