java 基础库_Java基础类库

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对象都可以调用该类定义的方法。

0e56db17ffeb

Object类的方法.png

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

Math类

java.lang包中的一个类。

System类

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

集合类

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

Collection集合体系

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

0e56db17ffeb

Collection集合体系继承树.jpg

Map集合体系

Map实现类用于保存具有映射关系的数据。Map中的key是不允许重复的。

HashTable的key、value不可以是null值。HashMap的key、value可以是null值。

0e56db17ffeb

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 unmodifiableMap = Collections.unmodifiableMap(map);

unmodifiableMap.clear();

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

0e56db17ffeb

unmodifiableMap.png

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

public static void main(String[] args) {

List tmpList = new LinkedList();

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 tmpList = new ArrayList(); 那么删除倒数第二个不会抛出异常,删除其他都抛出异常。

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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值