java接口与集合_【总结】Java常用集合接口与集合类
目录常见集合接口概述Collection
Map
Collection接口
Map接口
补充内容
常见集合接口概述
Java中包含许多集合接口。其中比较常见的主要是Collection接口和Map接口:
1.1 Collection
由单元素组成的集合。其比较常见的直接子接口是List、Set和Queue接口。
表1.1 Collection接口常用方法
编号方法原型解释备注
1boolean add(E e)往集合中添加元素e
2boolean addAll(Collection extends E> c)往集合中添加集合c此时集合c的元素必须是E子类对象
3boolean remove(Object o)将元素o从集合中移除
4boolean removeAll(Collection extends E> c)将集合c从集合中移除此时集合c的元素必须是E子类对象
5boolean containsAll(Collection> c)判断集合中是否含有集合c的所有元素判断时不考虑元素顺序
6boolean retainAll(Collection> c)求集合与集合c的交集
7void clear()将集合中的元素全部清空
8int size()计算集合长度
9boolean isEmpty()判断集合是否为空
10boolean contains(Object o)判断集合是否含有元素o
11Iterator iterator()得到集合的Iterator
12Object[] toArray()将集合转换为Object数组使用时注意将返回值类型转换
1.2 Map
由键值对组成的集合。其比较常见的直接实现类有HashMap、TreeMap和LinkedHashMap类。
表1.2 Map接口常用方法
编号方法原型解释备注
1V get(Object key)获取Map中key对应的值
2V put(K key,V value)将key-value这对键值对加入Map中
3void putAll(Map extends K,? extends V> m)将Map m加入Map中注意m的泛型
4V remove(Object key)将key索引的键值对从Map中移除
5void clear()清空Map
6int size()计算Map的长度
7boolean isEmpty()判断Map是否为空
8boolean containsKey(Object key)判断Map是否含有主键key
9boolean containsValue(Object value)判断Map是否含有值Value
10Set keySet()将Map的主键放入Set中并返回
11Collection values()将Map的值放入Collection中并返回
12Set> entrySet()将Map中每对键值对转换为键值对实体,并以Set的方式返回
Collection接口
Collection接口有三个比较常见的子接口:List、Set和Queue接口
2.1 List接口及其实现类
List接口有三个比较常见的实现类:LinkedList、ArrayList和Vector类。它们都按照元素的插入顺序来保存元素。ArrayList:用数组实现的List——随机存取效率高,增删效率低 轻量级。线程不安全。
LinkedList:用双向循环链表 实现的List——随机存取效率低,增删效率高。线程不安全。
Vector:用数组实现的List——重量级,占据更多的系统开销。线程安全。
表2.1 List接口常用方法
编号方法原型解释备注
1boolean addAll(int index,Collection extends E> c)指定集合c的添加起始位为index
2E get(int index)获取位置index对应的元素
3E set(int index, E element)设置位置index的元素
4void add(int index,E element)将元素element添加到index
5E remove(int index)移除index上的元素
6int indexOf(Object o)得到元素o首次出现的位置
7int lastIndexOf(Object o)得到元素o最后出现的位置
8 subList(int fromIndex, int toIndex)得到列表从fromIndex到toIndex的子列表ArrayList
Class ArrayList:底层使用数组实现。相对于数组的优点是自扩展长度,在元素个数超过本身所能存放的最大个数时能够自动扩展自身的长度。public ArrayList()、public ArrayList(Collection extends E> c)、public ArrayList(int initialCapacity):其中集合c是E子类的集合,用于在构造过程中初始化ArrayList;initialCapacity则表示待初始化的ArrayList初始长度。
public void trimToSize():释放列表的预留空间,使得列表所占空间尽量小。
public void ensureCapacity(int minCapacity):设定列表的最小长度。当minCapacity小于列表元素个数时,列表长度以列表元素个数为准。
public int lastIndexOf(Object o):返回元素o出现的最后一个位置序号
public E get(int index)、public E set(int index,E element):ArrayList的读写方法
protected void removeRange(int fromIndex, int toIndex):删除序号在fromIndex-toIndex之间的元素
public List subList(int fromIndex, int toIndex):得到从fromIndex-toIndex之间的元素列表
LinkedList
1.
c. VectorMap接口
补充内容
java接口与集合_【总结】Java常用集合接口与集合类相关推荐
- Java集合系列之四大常用集合(ArrayList、LinkedList、HashSet、HashMap)的用法
Java集合系列之四大常用集合(ArrayList.LinkedList.HashSet.HashMap)的用法 ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是A ...
- java项目----教务管理系统_基于Java的教务管理系统
java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...
- JAVA集合框架中的常用集合及其特点、适用场景、实现原理简介
JDK提供了大量优秀的集合实现供开发者使用,合格的程序员必须要能够通过功能场景和性能需求选用最合适的集合,这就要求开发者必须熟悉Java的常用集合类.本文将就Java Collections Fram ...
- java实现什么接口进行排序_使用Java中Comparator接口实现自定义排序
一般情况下,自己动手写一个简单排序程序还是没有问题的,但是你能保证写出来的排序程序的时间复杂度吗?你能保证程序的正确性吗,鲁棒性呢,还有程序结构的清晰性,可维护性.......综上所述,学习一下排序接 ...
- JAVA中为什么要用接口定义编程_【Java公开课|为什么要用Java接口,这些内容你一定要搞清楚】- 环球网校...
[摘要]作为一门面向对象编程语言,Java吸收了C++语言的优点,也展现了其强大的一面,我们能在各个地方看到其功能强大和简单易用的两个特征,当然,也吸引了很多程序员的注意力,所以就有人想了解Java的 ...
- java 接口中 常量_在Java接口中怎样访问定义的常量呢?
java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能).那么我们在Java接口中怎 ...
- java j集合_疯狂Java系列之j集合类
Collection接口中的方法 Set.List.Queue三种集合都是来自于父接口,所以C的方法可以用来操作三种集合. boolean add(Object o):向集合中添加元素: boolea ...
- java 是否含有日文_《JAVA编程思想》5分钟速成:第9章(接口)
第9章 接口 前言: 1.抽象类(abstract class)和接口(interface)有什么异同? 2.抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(n ...
- mongodb上限集合_用Java创建MongoDB上限集合
mongodb上限集合 在MongoDB中,可以以循环方式将文档的插入顺序保留到集合中. 这些类型的集合在MongoDB中称为上限集合. MongoDB文档描述了上限集合: 上限集合是固定大小的集合, ...
- java 外部接口调用 设计模式_《Java设计模式》之接口模式
-----------模式是思想的体现,而非具体的实现. 抽象的讲,类的接口是类允许其他类对象访问的方法与字段集.接口通常代表一种承诺,即方法需要实现接口方法名表示的操作,遵循代码注释和其他文档说明, ...
最新文章
- mysql 共享锁和排他锁 意向锁 记录锁 Gap Locks Next-Key Locks 插入意向锁介绍
- jenkins之qq企业邮箱配置
- Asp.net--DropDownList控件绑定数据库数据
- dataguard mysql,[dataguard同步数据库]Dataguard环境下数据库的备份与恢复
- C语言为何到现在都是热门语言?原因很简单,程序员大牛都知道
- Ubuntu - 安装gcc
- MathorCup数模竞赛,为你的保研之路添砖加瓦~
- 电路第五版课后完全答案百度扫描(免费)
- 小米手机通用面具安装,root获取
- 10分钟教你用python做个打飞机(超详细超入门教程)附源代码下载
- 翟菜花:搭上营销快通车的乳业,又是如何玩转互联网营销时代的?
- 尝试寻找免费思维导图软件的工作小结
- 面向对象---抽象和封装
- Qt下 汉字转换拼音
- sin cos 查表法算法解析
- Service Mesh介绍
- 万龙链——广应用场景,强价值背书,催生无限可能
- Ubuntu 命令行常见指令
- 计算机程序设计技能鉴定,计算机程序设计员国家职业技能鉴定考核指导
- sap发出商品差异差异分摊_什么是差异隐私?