栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java learn Collection接口及接口的讨论和Collections类及线程安全了解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java learn Collection接口及接口的讨论和Collections类及线程安全了解

首先 Collection 是一个接口
如同 List set 一样

1、Collection是 Set List Queue和 Deque的接口
Queue: 先进先出队列
Deque: 双向链表

以上谈及均为接口 可在码代码时导入 利用多态 接口指向类实例化对象

谈及双向链表和队列 就不得不提及linkedlist 这个类 也实现了队列及链表的有关方法

注:Collection和Map之间没有关系,Collection是放一个一个对象的,Map 是放键值对的
注:Deque 继承 Queue,间接的继承了 Collection

Map 也是接口

set 和 Map 的关系可以说是十分亲密了 set 只能单个对象存储 重复的不会被存放 而Map键值对 键是唯一的。

HashMap 这个类就实现了Map接口

以下是关系图:

接口与接口不能实现,只能继承。继承接口后可以增加新的方法,类实现接口,实现接口需要重写方法

接口之间是支持多重继承的 但不是接口实现接口
源码展示:
public interface Deque extends Queue
public interface Queue extends Collection
public interface Collection extends Iterable

2、Collections类
Collections是一个类,容器的工具类,就如同Arrays是数组的工具类
因此 会如Arrays一样提供一些方法

简单提及Collections 类里的几个方法:
建立在List接口实现Arraylist 类实例化对象
1、reverse 使List中的数据发生翻转

List numbers = new ArrayList<>();
 Collections.reverse(numbers);

2、shuffle 混淆List中数据的顺序
也就是打乱数据的排序

Collections.shuffle(numbers);

3、sort 对List中的数据进行排序
4、swap 交换两个数据的位置
和之前学的subString 以及指定位置截取 或者添加 查看 用法一样

Collections.swap(numbers,0,5);

把 下标为 0 和 5 的元素进行换位

5、滚动
rotate 把List中的数据,向右滚动指定单位的长度
这个就挺有意思了 注意这里是指定向右滚动 就把这一组数据想象成闭合的 右滚动最后到最前。
Collections.rotate(numbers,2); 后面的参数时滚动的单位长度

6、线程安全化
方法——synchronizedList 是把非线程安全的List转换为线程安全的List。

List numbers = new ArrayList<>();
 
        System.out.println("把非线程安全的List转换为线程安全的List");
        List synchronizedNumbers = (List) Collections.synchronizedList(numbers);

这样的用途可以理解为加一层保险

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/390408.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号