基础回顾3

java中有哪些容器(集合类)

Collection 接口的接口 对象的集合(单列集合)
├——-List 接口:元素按进入先后有序保存,可重复
│—————-├ LinkedList 接口实现类, 链表, 插入删除, 没有同步, 线程不安全
│—————-├ ArrayList 接口实现类, 数组, 随机访问, 没有同步, 线程不安全
│—————-└ Vector 接口实现类 数组, 同步, 线程安全
│ ———————-└ Stack 是Vector类的实现类
└——-Set 接口: 仅接收一次,不可重复,并做内部排序
├—————-└HashSet 使用hash表(数组)存储元素
│————————└ LinkedHashSet 链表维护元素的插入次序
└ —————-TreeSet 底层实现为二叉树,元素排好序

Map 接口 键值对的集合 (双列集合)
├———Hashtable 接口实现类, 同步, 线程安全
├———HashMap 接口实现类 ,没有同步, 线程不安全-
│—————–├ LinkedHashMap 双向链表和哈希表实现
│—————–└ WeakHashMap
├ ——–TreeMap 红黑树对所有的key进行排序
└———IdentifyHashMap

2、创建线程的方式

创建线程有三种方式,分别是:继承Thread类、实现Runable接口、实现Callable接口

通过继承Thread类来创建并启动线程的步骤:

  1. 定义Thread类的子类,并重写该类的run()方法,将run()方法作为线程执行体;
  2. 创建Thread子类的实例,即创建了线程对象;
  3. 调用线程对象的start()方法启动该线程。

通过实现Runable接口来创建并启动线程的步骤:

  1. 定义Runable接口的实现类,并实现该接口的run()方法方法,将run()方法作为线程执行体;
  2. 创建Runable实现类的实例;
  3. 调用线程对象的start()方法启动该线程。

通过实现Callable接口来创建并启动线程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值