JAVA零基础小白入门上手教程day15-泛型&File(二)

简介: JAVA零基础小白入门上手教程day15-泛型&File

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);
    }
}

注意事项

  1. 一个File对象代表硬盘中实际存在的一个文件或者目录。
  2. 无论该路径下是否存在文件或者目录,都不影响File对象的创建。


JAVA零基础小白入门上手教程day15-泛型&File(三)https://developer.aliyun.com/article/1433763

目录
相关文章
|
存储 缓存 自然语言处理
Java 中文官方教程 2022 版(二十九)(2)
Java 中文官方教程 2022 版(二十九)
|
3天前
|
存储 安全 Java
Java 中文官方教程 2022 版(二十八)(3)
Java 中文官方教程 2022 版(二十八)
|
3天前
|
存储 编解码 Java
Java 中文官方教程 2022 版(二十八)(1)
Java 中文官方教程 2022 版(二十八)
|
3天前
|
存储 算法 安全
Java 中文官方教程 2022 版(二十七)(4)
Java 中文官方教程 2022 版(二十七)
|
3天前
|
存储 安全 Java
Java 中文官方教程 2022 版(二十七)(3)
Java 中文官方教程 2022 版(二十七)
|
小程序 Java API
Java 中文官方教程 2022 版(二十四)(4)
Java 中文官方教程 2022 版(二十四)
|
3天前
|
安全 Java API
Java 中文官方教程 2022 版(二十四)(3)
Java 中文官方教程 2022 版(二十四)
Java 中文官方教程 2022 版(二十四)(3)
|
3天前
|
IDE Java API
Java 中文官方教程 2022 版(二十二)(3)
Java 中文官方教程 2022 版(二十二)
|
数据可视化 Java Unix
Java 中文官方教程 2022 版(二十一)(1)
Java 中文官方教程 2022 版(二十一)
|
3天前
|
小程序 Java API
Java 中文官方教程 2022 版(二十)(4)
Java 中文官方教程 2022 版(二十)