【学习总结|DAY018】Java异常、泛型、集合框架

今天学习了Java集合框架,主要内容包括异常、泛型和集合框架。以下是对学习内容的总结,并辅以代码案例加深理解:

一、异常

异常是程序在编译或执行过程中可能出现的错误,例如数组索引越界、文件不存在等。Java异常体系分为Error和Exception两类,其中Error代表系统级别错误,而Exception才是我们程序员需要关注的异常。

异常处理示例:

java 复制代码
public class ExceptionExample {
    public static void main(String[] args) {
        try {
            int[] arr = {10, 20, 30};
            System.out.println(arr[3]); // ArrayIndexOutOfBoundsException
            System.out.println(10 / 0); // ArithmeticException
        } catch (ArrayIndexOutOfBoundsException e) {
            System.out.println("数组索引越界异常");
        } catch (ArithmeticException e) {
            System.out.println("算术异常");
        } catch (Exception e) {
            System.out.println("其他异常");
        }
    }
}

二、泛型

泛型是Java中的一种特性,用于在编译阶段约束数据类型并进行自动检查,从而避免类型转换异常。泛型可以应用于类、接口和方法,并通过类型变量来指定具体的类型。

泛型示例:

java 复制代码
public class GenericExample {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("Java");
        list.add("Python");
        for (String item : list) {
            System.out.println(item);
        }
    }
}

三、集合框架

集合框架是Java中用于存储和操作数据的一组类和接口。主要分为单列集合和双列集合:

  • 单列集合 (Collection):每个元素只包含一个值,例如List和Set。
  • 双列集合 (Map):每个元素包含两个值,即键和值,例如HashMap和TreeMap。

List集合示例:

java 复制代码
public class ListExample {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("Java");
        list.add("Python");
        System.out.println("List Size: " + list.size());
        System.out.println("List Contains 'Java': " + list.contains("Java"));
        list.remove("Python");
        System.out.println("List After Removal: " + list);
    }
}

ArrayList和LinkedList的区别示例:

java 复制代码
public class ArrayListLinkedListExample {
    public static void main(String[] args) {
        List<String> arrayList = new ArrayList<>();
        List<String> linkedList = new LinkedList<>();
        
        // 添加元素
        arrayList.add("Java");
        linkedList.add("Python");
        
        // 删除元素
        arrayList.remove(0);
        linkedList.remove(0);
        
        // 查询元素
        System.out.println("ArrayList Index 0: " + arrayList.get(0));
        System.out.println("LinkedList Index 0: " + linkedList.get(0));
    }
}

四、总结

通过今天的学习,我们掌握了Java集合框架的基础知识,并能够根据不同的需求选择合适的集合类型。在后续的学习中,我们将继续深入学习集合框架的更多高级特性,例如Map集合、集合工具类等。

五、学习建议

  • 理解异常的概念和处理方式,避免程序出现运行时错误。
  • 掌握泛型的使用方法,提高代码的可读性和安全性。
  • 熟悉集合框架的体系结构,选择合适的集合类型解决问题。
  • 多进行实践练习,例如设计不同的集合应用场景,加深对集合框架的理解。

希望以上内容能够帮助大家更好地学习Java集合框架。

相关推荐
tryxr16 分钟前
Chat2Excel 文件服务模块上传文件功能开发
java·项目·oss·easyexcel·文件服务
Tangyuewei19 分钟前
Java 写 Agent:模型只是组件
java·开发语言
小玮看世界1 小时前
[Python]从合并区间到传感器融合区:合并区间在传感器区域融合的实际落地
开发语言·python
彧azz1 小时前
Java学习语法篇:变量
java·学习
繁星蓝雨2 小时前
C++的设计与演进大纲(如何从C语言一步步成长为C++)
c语言·开发语言·c++·c++历史·c++演进
Evand J2 小时前
【MATLAB例程,图像降噪滤波9】自适应维纳滑动窗口滤波(Wiener)图像降噪、方法对比,有中文注释
开发语言·图像处理·计算机视觉·matlab·滑动窗口·滤波·降噪
杜大哥2 小时前
python程序:如何查看电脑【电池电量的剩余百分比】 和 【是否插入连接着充电器】?
开发语言·python
wuyk5552 小时前
Python网络爬虫入门到实战 第01章:爬虫到底是什么?原理、流程、合法性、风险全解析(零基础必看)
开发语言·爬虫·python
信誓旦旦的程序猿2 小时前
【量化系统从零构建 #04】存储设计:选型·建库·交易日历
java·人工智能·python·股票数据api·股票数据·股票数据api接口·股票api数据接口
yurenpai(27届找实习中)2 小时前
Java 10 的 var 为什么不能随便用?从订单汇总看懂类型推断与泛型陷阱
java·开发语言·java18