美文网首页
Java基础类库

Java基础类库

作者: 小船儿爱学习 | 来源:发表于2020-11-19 21:41 被阅读0次

    1、java.lang包:java类库中的核心部分,包含System系统类、数学运算的Math类、处理字符串的String类以及8个数据类型包装类(Integer、Double、Float、Character、Short、Long、Boolean、Byte类)。
    2、java.io包:标准的输入/输出类库。
    3、java.util包:使用的工具类,比如Date类、Stack类、Vector类。
    4、java.awt包:GUI的基本工具。
    5、java.swing包:GUI工具包,提供了比java.awt包更加丰富、功能更加强大的组件。
    6、java.applet包:小应用程序的基础类库,用于控制Web浏览器中的HTML文档格式、图形绘制、声音、动画、字体、人机交互等。
    7、java.net包:用于实现网络功能的类,比如Socket类、ServerSocket类、URL类等。开发者可以在此基础上编写自己的应用程序,实现网络通信。
    8、java.sql包:用于实现JDBC的类库。

    Object类

    java.lang包中的一个类。在Java中,所有的类归根结底都是由Object类派生出来的,继承了Object类的所有方法,也就是说Object类是所有类的超类,任何Java对象都可以调用该类定义的方法。


    Object类的方法.png

    Object类中的equals()方法在默认情况下用来比较两个对象的内存地址是否相同,若相同则返回true,否则返回false。

    Math类

    java.lang包中的一个类。

    System类

    java.lang包中的一个类。主要提供了标准输入、输出、错误输出属性,及一些用于访问系统属性的方法。

    集合类

    参考:https://blog.csdn.net/u010850027/article/details/53466627

    java的集合类主要由两个接口派生而来,Collection和Map,它们是集合框架的根接口。这两个接口又包含了一些子接口或实现类。

    Collection集合体系
    Set和List接口是Collection接口派生的两个子接口,她们分别代表了无序集合和有序集合,Queue是Java提供的队列实现,有点类似于List。

    Collection集合体系继承树.jpg
    Map集合体系
    Map实现类用于保存具有映射关系的数据。Map中的key是不允许重复的。
    HashTable的key、value不可以是null值。HashMap的key、value可以是null值。
    map集合体系继承树.jpg

    综上可以将集合类分为三大类:

    Set集合:无序不重复。类似于一个糖罐子,把一个对象添加到Set集合里面的时候,Set集合无法记住添加这个元素的顺序,所以Set里面的元素不能重复,否则系统无法准确识别这个元素。
    List集合:有序可重复。非常像一个数组,她可以记住每次添加元素的顺序,可以重复,只是List的长度可变。
    Map集合:也像是一个糖罐子,只是她里面的每项数据都由两个值组成。

    所以,如果访问List集合中的元素,可以直接根据元素的索引来进行访问;如果需要访问Map集合中的元素,可以根据每项元素的key来访问其value;如果访问Set集合中的元素,则只能根据元素本身来访问,这也是Set集合里元素不允许重复的原因。

    JDBC

    JDBC定义了一套标准的接口,通用API,不同数据库厂商去实现这些接口。
    JDBC提供了统一的解决方案,用相同的方式访问不同的数据库。
    ResultSet的fetchSize属性:在执行JDBC查询数据库时,假设物理内存足够用,如果查询结果集ResultSet要返回的记录数很多,比如上万记录,则对于ResultSet的fetchSize属性有:ResultSet的fetchSize越大,JDBC client端消耗的内存越大,性能也越快。

    注意的点

    1、unmodifiableMap方法

    // map是一个合法的map
    Map<Integer, String> unmodifiableMap = Collections.unmodifiableMap(map);
    unmodifiableMap.clear(); 
    

    unmodifiableMap.clear(); 执行时会报异常java.lang.UnsupportedOperationException。


    unmodifiableMap.png

    2、ArrayList和LinkedList删除元素的区别

        public static void main(String[] args) {
            List<String> tmpList = new LinkedList<String>();
            tmpList.add("Hello");
            tmpList.add("My");
            tmpList.add("Son");
            for (String curStr : tmpList) {
                if ("My".equals(curStr)) {
                    tmpList.remove(curStr);// 删除倒数第二个元素
                }
                System.out.printf("curStr = %s, temList = %s\n", curStr, tmpList.toString());
            }
        }
    

    输出结果:
    curStr = Hello, temList = [Hello, My, Son]
    curStr = My, temList = [Hello, Son]

    如果使用的是 List<String> tmpList = new ArrayList<String>(); 那么删除倒数第二个不会抛出异常,删除其他都抛出异常。
    如果使用的是 List<String> tmpList = new LinkedList<String>();那么删除最后一个和倒数第二个不会抛出异常,删除其他都会抛出异常。

    相关文章

      网友评论

          本文标题:Java基础类库

          本文链接:https://www.haomeiwen.com/subject/hjiliktx.html