学习JAVA的第十三天(基础)

目录

API之Arrays

将数组变成字符串

二分查找法查找元素

拷贝数组

填充数组

排序数组

Lambda表达式

集合的进阶

单列集合

体系结构

Collection


API之Arrays

操作数组的工具类

将数组变成字符串

java 复制代码
        //将数组变成字符串
        char[] arr = {'a','b','c','d','e'};
        System.out.println(Arrays.toString(arr));//[a, b, c, d, e]

二分查找法查找元素

java 复制代码
        //二分查找法查找元素
        System.out.println(Arrays.binarySearch(arr,'b'));//1
        //如果查找的元素不存在,返回(-插入值-1),插入值为顺序排序该存在的索引 f该存在索引5
        System.out.println(Arrays.binarySearch(arr,'f'));//-6

拷贝数组

java 复制代码
       //拷贝数组
        char[]  newArr = Arrays.copyOf(arr,5);
        System.out.println(newArr);

        //有范围拷贝数组 包左不包右
        char[] newArr1 = Arrays.copyOfRange(arr,0,4);
        System.out.println(newArr1);

        

        

填充数组

java 复制代码
        //填充数组
         Arrays.fill(arr,'s');
         System.out.println(Arrays.toString(arr));//[s, s, s, s, s]

排序数组

java 复制代码
        //数组排序
        int[] arr1 = {9,1,2,8,7,3,4,6,5,10};
        Arrays.sort(arr1);
        System.out.println(Arrays.toString(arr1));//[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Lambda表达式

Lambda表达式是JDK8开始的新语法形式

格式:

java 复制代码
(形参) ->{方法的方法体}

注意事项:

可以用来简化匿名内部类

只能简化有且仅有一个抽象方法的接口的匿名内部类

测试类

java 复制代码
public class Test {
    public static void main(String[] args) {

        //正常书写
//        method(new Eat() {
//            @Override
//            public void eating() {
//                System.out.println("正在吃饭");//正在吃饭
//            }
//        });

        //使用Lambda表达式
       method( () ->{System.out.println("正在吃饭");});
    //省略写法
        method( () ->System.out.println("正在吃饭"));

    }
    public static void method(Eat e) {
        e.eating();
    }
}

//增加注解验证
@FunctionalInterface
interface Eat {
    public abstract void eating();
}

集合的进阶

单列集合

每个元素只包含一个值

体系结构

List系列集合 :添加的元素是有序的 (存和取的顺序),有索引可重复的

Set系列集合 :添加的元素是无序的 (存和取的顺序可能不一样)、无索引不重复的


Collection

Collection是单列集合的最高级别接口,它的功能所有单列集合可以继承使用

方法简述:
方法名称 说明
add(E e) 将给定的对象添加到当前集合中
clear() 清空中集合中所用元素
remove(E e) 把给定的对象在集合中删除
contains(Object obj) 判断集合中是否包含给定的对象
isEmpty() 判断集合是否为空
size() 返回集合的元素个数(集合长度)
简单实现:
java 复制代码
 public static void main(String[] args) {
        //创建collection接口的实现类对象
        Collection<String> coll = new ArrayList<>();

        //添加元素 它的返回类型是boolean类型 添加成功返回true,添加失败返回false
        coll.add("a");
        System.out.println(coll); //[a]

        //清空集合
        coll.clear();
        System.out.println(coll);//[]

        //删除集合中的元素 返回值为boolean类型,删除成功返回true,删除失败返回false
        coll.add("b");
        coll.remove("a");
        System.out.println(coll);//[b]

        //判断元素是否包含
        boolean result1 = coll.contains("a");
        System.out.println(result1);//false
        boolean result2 = coll.contains("b");
        System.out.println(result2);//true


        //判断集合是否为空
        boolean result3 = coll.isEmpty();
        System.out.println(result3);//false

        //获取集合的长度
        int size = coll.size();
        System.out.println(size);//1

    }
相关推荐
xixixi7777718 小时前
剖析Agent(代理)攻击面
网络·学习·安全·架构·网络攻击模型·代理
Jerry.张蒙19 小时前
SAP传输请求流程:从开发到生产的安全流转
大数据·网络·人工智能·学习·职场和发展·区块链·运维开发
Century_Dragon19 小时前
VR+智能评——比亚迪秦EV整车检测与诊断仿真实训系统
学习
victory043119 小时前
大模型后训练学习计划 02 verl llamafactory
学习
tfjy199719 小时前
网络基础学习
网络·学习
Miketutu19 小时前
操作系统中进程与作业的概念区分
学习
TL滕19 小时前
从0开始学算法——第三天(数据结构的操作)
数据结构·笔记·学习·算法
九千七52619 小时前
sklearn学习(4)K近邻(KNN)
人工智能·学习·机器学习·sklearn·knn·近邻搜索
Lyre丶19 小时前
ginan入门初探
linux·经验分享·学习·ubuntu
TL滕20 小时前
从0开始学算法——第三天(数据结构的多样性)
数据结构·笔记·学习·算法