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

目录
相关文章
|
1天前
|
Java 编译器 API
Java基础教程(17)-Java8中的lambda表达式和Stream、Optional
【4月更文挑战第17天】Lambda表达式是Java 8引入的函数式编程特性,允许函数作为参数或返回值。它有简洁的语法:`(parameters) -> expression 或 (parameters) ->{ statements; }`。FunctionalInterface注解用于标记单方法接口,可以用Lambda替换。
|
2天前
|
数据采集 前端开发 测试技术
《手把手教你》系列技巧篇(三十一)-java+ selenium自动化测试- Actions的相关操作-番外篇(详解教程)
【4月更文挑战第23天】本文介绍了网页中的滑动验证码的实现原理和自动化测试方法。作者首先提到了网站的反爬虫机制,并表示在本地创建一个没有该机制的网页,然后使用谷歌浏览器进行验证。接着,文章详细讲解了如何使用WebElement的click()方法以及Action类提供的API来模拟鼠标的各种操作,如右击、双击、悬停和拖动。
6 2
|
3天前
|
Java 开发工具 Windows
Java入门及环境变量
Java入门及环境变量
|
3天前
|
Java API 调度
[AIGC] 深入理解Java并发编程:从入门到进阶
[AIGC] 深入理解Java并发编程:从入门到进阶
|
3天前
|
Java Nacos 开发者
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
|
3天前
|
前端开发 Java 测试技术
Java从入门到精通:4.1.1参与实际项目,锻炼编程与问题解决能力
Java从入门到精通:4.1.1参与实际项目,锻炼编程与问题解决能力
|
3天前
|
Java 程序员 数据库连接
Java从入门到精通:3.3.2性能优化与调优——内存管理篇
Java从入门到精通:3.3.2性能优化与调优——内存管理篇
Java从入门到精通:3.3.2性能优化与调优——内存管理篇
|
4月前
|
Java Go
【Java 泛型方法】泛型方法的定义和使用,泛型的通配符和泛型的上下限,泛型的注意事项
【Java 泛型方法】泛型方法的定义和使用,泛型的通配符和泛型的上下限,泛型的注意事项
|
10月前
java202303java学习笔记第三十一天泛型通配符和综合练习1
java202303java学习笔记第三十一天泛型通配符和综合练习1
27 0
|
10月前
java202303java学习笔记第三十一天泛型通配符和综合练习1
java202303java学习笔记第三十一天泛型通配符和综合练习1
25 0