JAVA零基础小白入门上手教程day15-泛型&File(一)https://developer.aliyun.com/article/1433759
静态导入-了解
/* * 静态导入: * 格式:import static 包名….类名.方法名; * 可以直接导入到方法的级别 * * 静态导入的注意事项: * A:方法必须是静态的 * B:如果有多个同名的静态方法,容易不知道使用谁?这个时候要使用,必须加前缀。由此可见,意义不大,所以一般不用,但是要能看懂。 */ import static java.lang.Math.abs; import static java.lang.Math.pow; import static java.lang.Math.max; public class StaticImportDemo { public static void main(String[] args) { // System.out.println(java.lang.Math.abs(-100)); // System.out.println(java.lang.Math.pow(2, 3)); // System.out.println(java.lang.Math.max(20, 30)); // 太复杂,我们就引入到import // System.out.println(Math.abs(-100)); // System.out.println(Math.pow(2, 3)); // System.out.println(Math.max(20, 30)); // 太复杂,有更简单 System.out.println(abs(-100)); System.out.println(pow(2, 3)); System.out.println(max(20, 30)); } }
可变参
//可变参数(T...a) Arrays.asList("hello","world","yiyan", 123, true); //注意事项 List<String> list1 = Arrays.asList("hello", "world", "java"); // list1.add("jack");//本质还是数组长度,类型不能改变 // list1.add("rose"); //可以修改元素 list1.set(1,"rose"); System.out.println(list1);
数组和集合互转
/* * public static <T> List<T> asList(T... a):把数组转成集合 * * 注意事项: * 虽然可以把数组转成集合,但是集合的长度不能改变。 */ public class ArraysDemo { public static void main(String[] args) { //数组 -- list集合 String[] str = {"hello","world","java"}; List<String> list = Arrays.asList(str); System.out.println(list); System.out.println("===================="); //数组 -- set集合 方式一 String[] s = {"a","b","c"}; //先转list List<String> list = Arrays.asList(s); //再转set Set<String> set = new HashSet<>(list); set.forEach(System.out::println); //数组 -- set集合 方式二 String[] str2 = {"hello","world","java"}; Set<String> set = Arrays.stream(str2).collect(Collectors.toSet()); System.out.println(set); } }
public static void main(String[] args) { //list集合 --> 数组 List<String> list = new ArrayList<String>(); list.add("hello"); list.add("world"); //定义数组的长度 String[] str = new String[list.size()]; list.toArray(str);//添加元素 //System.out.println(str[0]); //System.out.println(str[1]); for(String s : str){ System.out.println(s); } System.out.println("===================="); //set集合 -- 数组 Set<String> set = new HashSet<>(); set.add("abc"); set.add("cba"); set.add("cba"); //先转成list List<String> lists = new ArrayList<>(set); //list转数组 String[] str4 = new String[lists.size()]; lists.toArray(str4); System.out.println(str4[0]); System.out.println(str4[1]); for(String s : str4){ System.out.println(s); } }
List和set互转
public static void main(String[] args) { //list --> set List<String> list = new ArrayList<>(); list.add("a"); list.add("b"); list.add("b"); Set<String> set = new HashSet<>(list); set.forEach(System.out::println); System.out.println("===================="); //set --> list Set<String> sets = new HashSet<>(); sets.add("a"); sets.add("b"); sets.add("c"); List<String> lists = new ArrayList<>(sets); lists.forEach(System.out::println); }
Collections
什么是Collections
Collections是针对集合操作的工具类
Collections常用的方法
方法名 | 说明 |
public static void sort(List list) | 将指定的列表按升序排序 |
public static void reverse(List<?> list) | 反转指定列表中元素的顺序 |
public static void max() | 获取集合中最大值 |
Collections代码演示
public class CollectionsDemo01 { public static void main(String[] args) { //创建集合对象 List<Integer> list = new ArrayList<Integer>(); //添加元素 list.add(30); list.add(20); list.add(50); list.add(10); list.add(40); // 将指定的列表按升序排序 Collections.sort(list); //反转指定列表中元素的顺序 Collections.reverse(list); //获取集合是最大值 Integer max = Collections.max(list); System.out.println(max);//50 //获取集合是最小值 Integer min = Collections.min(list); System.out.println(min);//10 System.out.println(list); } }
collection和collectons的区别?
Collection 是一个集合接口 它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。
Collections 是一个操作集合的工具类。它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架。
File类
什么是File类
java.io.File
类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。
File类构造方法
方法名 | 说明 |
public File(String pathname) | 通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。 |
public File(String parent, String child) | 从父路径名字符串和子路径名字符串创建新的 File实例。 |
public File(File parent, String child) | 从父抽象路径名和子路径名字符串创建新的 File实例。 |
代码演示
public class FileDemo{ public static void main(String[] args){ // 文件路径名 String pathname = "D:\\aaa.txt"; File file1 = new File(pathname); // 文件路径名 String pathname2 = "D:\\aaa\\bbb.txt"; File file2 = new File(pathname2); // 通过父路径和子路径字符串 String parent = "d:\\aaa"; String child = "bbb.txt"; File file3 = new File(parent, child); // 通过父级File对象和子路径字符串 File parentDir = new File("d:\\aaa"); String child = "bbb.txt"; File file4 = new File(parentDir, child); } }
注意事项
- 一个File对象代表硬盘中实际存在的一个文件或者目录。
- 无论该路径下是否存在文件或者目录,都不影响File对象的创建。
JAVA零基础小白入门上手教程day15-泛型&File(三)https://developer.aliyun.com/article/1433763