【学习总结|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集合框架。

相关推荐
权泽谦7 小时前
Java 在机器学习中的应用:基于 DL4J 与 Weka 的完整实战案例
java·机器学习·数据挖掘
MediaTea7 小时前
Python 第三方库:cv2(OpenCV 图像处理与计算机视觉库)
开发语言·图像处理·python·opencv·计算机视觉
q***23927 小时前
nginx简单命令启动,关闭等
java·服务器·nginx
拾忆,想起7 小时前
Dubbo负载均衡全解析:五种策略详解与实战指南
java·运维·微服务·架构·负载均衡·dubbo·哈希算法
shayudiandian7 小时前
【Java】关键字 native
java
合作小小程序员小小店7 小时前
桌面开发,在线%幼儿教育考试管理%系统,基于eclipse,java,swing,mysql数据库
java·数据库·sql·mysql·eclipse·jdk
初见无风7 小时前
4.4 Boost库工具类assign 的使用
开发语言·c++·boost
明洞日记7 小时前
【设计模式手册005】单例模式 - 唯一实例的优雅实现
java·单例模式·设计模式
月夜的风吹雨7 小时前
【C++ STL容器适配器】:解密Stack、Queue与Priority Queue的设计智慧
开发语言·c++·stl·优先级队列··队列·适配器
二川bro7 小时前
第48节:WebAssembly加速与C++物理引擎编译
java·c++·wasm