学习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

    }
相关推荐
西岸行者2 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意2 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码2 天前
嵌入式学习路线
学习
毛小茛2 天前
计算机系统概论——校验码
学习
babe小鑫2 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms3 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下3 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。3 天前
2026.2.25监控学习
学习
im_AMBER3 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J3 天前
从“Hello World“ 开始 C++
c语言·c++·学习