Java集合Collection与List的关系、常见用法
关系树
[java] view plain copy print?
---|Collection: 单列集合 ---|List: 有存储顺序, 可重复 ---|ArrayList: 数组实现, 查找快, 增删慢 由于是数组实现, 在增和删的时候会牵扯到数组 增容, 以及拷贝元素. 所以慢。数组是可以直接 按索引查找, 所以查找时较快 ---|LinkedList: 链表实现, 增删快, 查找慢 由于链表实现, 增加时只要让前一个元素记住自 己就可以, 删除时让前一个元素记住后一个元 素, 后一个元素记住前一个元素. 这样的增删效 率较高但查询时需要一个一个的遍历, 所以效率 较低 ---|Vector: 和ArrayList原理相同, 但线程安全, 效率略低 和ArrayList实现方式相同, 但考虑了线程安全问 题, 所以效率略低 ---|Set: 无存储顺序, 不可重复 ---|HashSet ---|TreeSet ---|LinkedHashSet
---| Map: 键值对 ---|HashMap ---|TreeMap ---|HashTable ---|LinkedHashMap
常见用法示例
package cn.hanquan.test;import java.util.ArrayList;
import java.util.Collection;public class Test
{public static void main(String[] args){Collection<String> str = new ArrayList<>();System.out.println("str的大小:" + str.size());// 输出str的大小System.out.println("str是否为空:" + str.isEmpty());// 输出str是否为空str.add("一");str.add("二");str.add("三");str.add("四");str.add("五");System.out.println("str的大小:" + str.size());// 输出str的大小System.out.println("str:" + str);// 输出str的内容str.remove("高老二");System.out.println("str的大小:" + str.size());// 输出str的大小System.out.println("str:" + str);// 输出str的内容// str.clear();
// System.out.println(str.size());// 输出str的大小
// System.out.println(str);// 输出str的内容Collection<String> str2 = new ArrayList<>();str2.add("1");str2.add("2");str2.add("3");str2.add("4");str2.add("五");str.addAll(str2);// 把str2中的元素全部添加到str1中System.out.println("str:" + str);// 输出str的内容System.out.println("str2:" + str2);// 输出str2的内容str.retainAll(str2);// 求交集System.out.println("求交集后,str:" + str);// 求交集后,输出str的内容str.removeAll(str2);// 将str中包含的str2中的元素删除System.out.println("删除str中的str2后,str=" + str);// 删除str中与str2相同的元素后,输出str的内容}
}
运行结果
str的大小:0
str是否为空:true
str的大小:5
str:[一, 二, 三, 四, 五]
str的大小:5
str:[一, 二, 三, 四, 五]
str:[一, 二, 三, 四, 五, 1, 2, 3, 4, 五]
str2:[1, 2, 3, 4, 五]
求交集后,str:[五, 1, 2, 3, 4, 五]
删除str中的str2后,str=[]
Java集合Collection与List的关系、常见用法相关推荐
- Java集合Collection接口中的常用方法演示
Java集合Collection接口中的常用方法演示 添加 add(Objec tobj) 和 addAll(Collection coll) 获取有效元素的个数 int size() 清空集合 vo ...
- Java 集合Collection常见知识点汇总~
看了一些所谓大公司的JAVA面试问题,发现对于JAVA集合类的使用都比较看重似的,而自己在这方面还真的是所真甚少,抽空也学习学习吧. java.util包中包含了一系列重要的集合类,而对于集合类,主要 ...
- Java集合 Collection
Jdk提供了一些特殊的类,用来保存数量不确定的对象,存储任意类型对象,长度可变.这些类统称为集合. 集合类位于Java.util包中,按存储结构分为Collection单列集合和Map双列集合. Co ...
- Java—一篇读懂java集合(Collection/Map)及Lambda表达式
集合简介 在集合类之前,我们使用数组存储,数组既可以存储基本数据类型的值,也可以存储对象(对象的引用变量),但是集合只能存储对象. Java集合类似于一种容器,将同类型的对象(实际为对象引用) ...
- Java 集合 Collection、Iterator
Java集合分为Set(无序.不可重复).List(有序.重复).Queue(队列)和Map(映射关系) Java集合概述 数组元素既可以是基本类型的值,也可以是对象(实际保存对象的引用变量) 集合只 ...
- Java集合Collection源码系列-ArrayList源码分析
Java集合系列-ArrayList源码分析 文章目录 Java集合系列-ArrayList源码分析 前言 一.为什么想去分析ArrayList源码? 二.源码分析 1.宏观上分析List 2.方法汇 ...
- java集合Collection
文章目录 ==Collection集合== Collection概述 Collection集合常用方法 Collection集合的遍历之iterator 概述 Iterator中的常用方法 集合使用步 ...
- java集合Collection常用方法详解
前言 出去面试的时候,对java的集合框架考察的知识点还是蛮多的.除了基础的集合常见API使用,对集合底层的实现原理以及数据结构等也有很多考察方面.而自己对这方面知之甚少,特地抽空进行研究和学习一下. ...
- java 先进先出的map_「 深入浅出 」java集合Collection和Map
本系列文章主要对java集合的框架进行一个深入浅出的介绍,使大家对java集合有个深入的理解. 本篇文章主要具体介绍了Collection接口,Map接口以及Collection接口的三个子接口Set ...
最新文章
- 设计一个基于svg的涂鸦组件(一)
- OSChina 周六乱弹 —— 老用户与狗
- ES6 开发常用新特性以及简述ES7
- IE edge是怎么了??
- 基于CSE的微服务工程实践-多微服务框架演进
- springboot整合redis实现分布式锁思想
- 在安卓手机上编写和运行Python 3.x程序
- Android-LayoutInflater
- Remote System Explorer Operation卡死Eclipse解决方案
- python拥有丰富的第三方库_Python第三方库的安装方法
- python:制作水印图片
- 手机查看企业qq邮件服务器,QQ企业邮箱怎么用?手机QQ邮箱收发邮件的方法
- IOS – OpenGL ES 图像柏林噪点/花边噪点 GPUImagePerlinNoiseFilter
- 大数据时代信息轰炸来袭 购房四大黄金法则
- 让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法
- 三大分析法——SWOT、PEST、波特五力
- Java与mysql数据库连接
- Web中的HTML、css、jQuery、js
- uniapp 实现人脸认证
- 算法图解第一章算法简介之二分查找C++代码实现
热门文章
- POJ - 1847 Tram(最短路)
- java 妖魔道-倩女幽魂_《倩女幽魂I-妖魔道》地图新手功略
- 【Boost】boost库中bind的用法
- 分布式系统概念 | 分布式锁:数据库、Redis、Zookeeper解决方案
- C++ STL : 模拟实现STL中的容器适配器priority_queue
- 硬核致敬Linux !30岁生日快乐!
- 大规模微服务利器:eBPF + Kubernetes
- Apache架构师总结的30条设计原则!
- Kafka解析之topic创建(3)——合法性验证
- Union-Find 算法应用