Collection和Collections之间的使用与区别
1.Collection详解
2.Collections详解
3.Collection和Collections的区别
1.Collection详解
1.1Collection简介
java.util.Collection
.Collection是所有单列集合(一次存一个元素,是单列集合)的父接口,因此定义了单列集合(List和Set)通用的一些方法,这些方法适用于所有的单列集合
Collection集合主要有List和Set两大接口
List:有序(元素存入集合的顺序和取出的顺序一致),元素都有索引。元素可以重复。
Set:无序(存入和取出顺序有可能不一致),不可以存储重复元素。必须保证元素唯一性。
1.2Collection子类常用共性方法
方法名 | 方法作用 |
---|---|
public boolean add(E e) | 把给定的元素添加到当前的集合中 |
public void clear() | 清空集合中的所有元素 |
public boolean remove(E e) | 把给定的元素在当前的集合里边删除 |
public boolean contains(E e) | 判断当前集合中是否包含指定对象 |
public boolean isEmpty() | 判断当前元素是否为空 |
public int size() | 返回集合中的元素个数 |
public Object[] toArray() | 把集合中元素,存储到数组中 |
下面我们拿它的子集合Arraylist举例:
package untl;
import java.util.ArrayList;
import java.util.Collection;
public class MyCollection {public static void main(String[] args) {Collection<String> collection=new ArrayList();for (int i=0;i<5;i++){collection.add("张"+(i+1));}System.out.println(collection);System.out.println("----------------测试remove方法-----------------------");collection.remove("张1");System.out.println(collection);collection.remove("王五");System.out.println(collection);System.out.println("----------------测试contains方法-----------------------");boolean bool=collection.contains("张5");System.out.println(bool);bool=collection.contains("王五");System.out.println(collection);System.out.println("-----------------测试isEmpty方法----------------------");bool=collection.isEmpty();System.out.println(bool);System.out.println("-----------------测试size方法----------------------");int len=collection.size();System.out.println(len);System.out.println("-----------------测试toArray方法----------------------");Object arr[]= collection.toArray();for (Object a:arr) {System.out.println(a);}System.out.println("-----------------测试clear方法----------------------");collection.clear();System.out.println(collection);}
}
运行结果:
[张1, 张2, 张3, 张4, 张5]
----------------测试remove方法-----------------------
[张2, 张3, 张4, 张5]
[张2, 张3, 张4, 张5]
----------------测试contains方法-----------------------
true
[张2, 张3, 张4, 张5]
-----------------测试isEmpty方法----------------------
false
-----------------测试size方法----------------------
4
-----------------测试toArray方法----------------------
张2
张3
张4
张5
-----------------测试clear方法----------------------
[]Process finished with exit code 0
2.Collections详解
2.1Collections简介:
Java提供了一个操作Set、List和Map等集合的工具类:Collections,该工具类里
提供了大量方法对集合元素 进行排序、查询和修改 等操作,还提供了 对集合对象实现
同步控制 等方法。这个类不需要创建对象,内部提供的都是静态方法:
2.2常用方法:
方法 | 方法作用 |
---|---|
public static boolean addAll(Collection c, T… elements) | 往集合中添加一些元素。 |
public static void shuffle(List<?> list) | 打乱集合顺序。 |
public static void sort(List list) | 将集合中元素按照默认规则排序。 |
public static void sort(List list,Comparator<? super T> ) | 将集合中元素按照指定规则排序。 |
使用例子:
package untl;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class MyCollections {public static void main(String[] args) {List<String> list=new ArrayList<>();Collections.addAll(list,"bbb","aaa","ccc");System.out.println(list);Collections.sort(list);System.out.println(list);Collections.shuffle(list);System.out.println(list);Collections.sort(list, new Comparator<String>() {@Overridepublic int compare(String o1, String o2) {return o2.charAt(0)-o1.charAt(0);//按照第一个字母降序排列}});System.out.println(list);}
}
运行结果:
[bbb, aaa, ccc]
[aaa, bbb, ccc]
[aaa, ccc, bbb](由于这个是打乱后的所以不固定)
[ccc, bbb, aaa]
3.Collection和Collections的区别
1.Collections是个
java.util
下的类,是针对集合类的一个工具类,提供一系列静态方法,实现对集合的查找、排序、替换、线程安全化(将非同步的集合转换成同步的)等操作。
2.Collection是个java.util
下的接口,它是各种集合结构的父接口,继承于它的接口主要有Set和List,提供了关于集合的一些操作,如插入、删除、判断一个元素是否其成员、遍历等。
Collection和Collections之间的使用与区别相关推荐
- Java基础 集合(Collection)结构详解 Collection和Collections的区别
Collection是Java自带的核心集合类,它主要在java.util包下,下面主要给出常用的Java集合框架,如图: 以上就是我们比较常用的集合类,从源码中我们可以看到List.Set继承了Co ...
- Collection 和 Collections区别
Collection 和 Collections区别 (1)java.util.Collection 是一个集合接口(集合类的一个顶级接口).它提供了对集合对象进行基本操作的通用接口方法.Collec ...
- HashMap和Hashtable的区别--List,Set,Map等接口是否都继承自Map接口--Collection和Collections的区别...
面试题: 1.HashMap和Hashtable的区别?HashMap:线程不安全,效率高,键和值都允许null值Hashtable:线程安全,效率低,键和值都不允许null值ArrayList代替V ...
- Java之集合框架图及 Collection和Collections的区别及用法总结
Java中Collection和Collections的区别: 1.Java集合框架图: 2.Collection接口: java.util.Collection是一个集合接口,其中定义了对集合对象有 ...
- Collection 和 Collections 有什么区别?
Collection 和 Collections 有什么区别? Collection是JDK中集合层次结构中的最根本的接口.定义了集合类的基本方法.源码中的解释: * The root interfa ...
- Java中Collection与Collections的区别
Collection与Collections的根本区别是: 1.Collection 是一个集合接口.它提供了对集合对象进行基本操作的通用接口方法.Collection接口在Java 类库中有很多具体 ...
- Java中Array和ArrayList之间的9个区别
array和ArrayList都是Java中两个重要的数据结构,在Java程序中经常使用. 即使ArrayList在内部由数组支持,了解Java中的数组和ArrayList之间的差异对于成为一名优秀的 ...
- java map与set的区别_java 集合(list,set,map)三者之间的关系和区别
原 java 集合(list,set,map)三者之间的关系和区别 一:先上一张关系图,让大家看的更明白. 备注:其中红色部分为实现,其他地方均为接口. 二:各自的特点. List 有序,可重复Arr ...
- jdk中提供的Collection、Collections、Collector、Collectors你分的清楚?
初次一看四个有点相似,而且有些时候一不小心还真有可能敲错,因为喜欢代码提示没仔细看提示,结果通过.去调用结果发现没有找到你想用的方法.所以写代码的时候需要注意一点这个区别 Collections.em ...
最新文章
- 字符串转二进制 python_将字符串转换为二进制
- Python网络爬虫--BeautifulSoup库的基本元素
- java,倒置后的顺序为3,2,1_java 程序设计题库
- Arcgis10 server安装
- 《Java程序员面试宝典》读书笔记1
- Jboss4集群配置【转】
- 国产化之路-统信UOS /Nginx /Asp.Net Core+ EF Core 3.1/达梦DM8实现简单增删改查操作
- 学籍管理系统系统流程图
- VI操作--跳到最后一行和跳到最后一行的最后一个字符
- 栈-迷宫求解路径问题
- android java thread_Android中断并重启一个Thread线程的简单方法
- 区块链第三方支付已登陆菲律宾
- 【Computer Organization笔记25】I/O:程序直接控制,程序中断方式,直接存储访问(DMA),通道控制方式
- 微信小程序 input输入事件
- hadoop-hive安装
- Flink无法在yarn提交任务:取消检查虚拟内存
- 【第三方互联】15、百度(baidu)授权第三方登录
- 做鼻子测试软件,深度解析鼻子类型,测试你属于哪种鼻子?
- FAST-LIO,FAST-LIO2与FASTER-LIO
- 180724 安卓-SSLPinning及反制
热门文章
- 连麦互动直播方案全实践1:什么是连麦互动直播?
- eclipse远程调试失败
- Splash 占位图适配 全面屏笔记
- 《NLTK基础教程——用NLTK和Python库构建机器学习应用》——2.3 语句分离器
- [转]自适应网页设计(Responsive Web Design)
- 通过组策略禁止用户安装任何软件
- 【Linux】Linux-路径切换-相对路径和绝对路径快捷键记录linux 知识点记录
- 被惊艳到了!适用 Win、Mac、Linux,酷炫的极客界面 eDEX-UI
- 【图解计算机组成原理】第1章 计算机系统概论
- Dockerfile指令详解: CMD 容器启动命令