java Collection接口
Collection
1——————Set子接口:无序,不允许重复。
2——————List子接口:有序,允许重复。
Set和List对比:
1.set:检索元素的效率比较低,删除和插入效率比较高,删除和插入不会引起元素位置的改变。
2.list:和数组类似,可以动态增长,检索元素的效率比较高,删除和插入元素效率低,因为会引起其他元素位置的改变。
HashSet:以哈希表的方式存放元素,因此插入和删除的速度很快。
ArrayList:动态数组。
LinkedList:链表,堆栈,队列。
Map接口 不是Collecion接口的继承,而是从自己的用于维护键--值关联的接口层次结构入手。按定义,该接口描述了从不重复的键到值得映射。
可以将这个接口分成三组操作:改变,查询,提供可选视图。
改变操作可以从映射中添加或者删除键--值对,键和值都可以设置为空,但是不允许把map做为一个键或者是值添加给自身。
Object put(Object key,Object value);
Object remove(Object key);
void putAll(map mapping);
void clear();
查询操作可以允许查看映射的内容。
Object get(Object key);
boolean containsKey(Object key);
boolean containsValue(Objdect value);
int size();
boolean isEmpty();
把键或者值得组作为集合来处理:
public Set keySet();
public Collection values();
public Set entrySet();
java Collection接口的更多相关文章
- java collection接口源码
package java.util; 02. 03./* 04.* 1.Collection接口是集合继承关系中的根接口(root interface),有些集合允许重复元素, 05.* 有些集合有序 ...
- Java Collection 接口、Set 接口、List 接口基本操作 练习
//////// One package Chp11; import java.util.ArrayList; import java.util.List; public class TestList ...
- Java集合框架之Collection接口
Java是一门面向对象的语言,那么我们写程序的时候最经常操作的便是对象了,为此,Java提供了一些专门用来处理对象的类库,这些类库的集合我们称之为集合框架.Java集合工具包位于Java.util包下 ...
- Java集合之Collection接口
java的集合分为三大接口,分别是Collection,Map,Iterator,集合接口和类在java.util包中,此次主要介绍三大接口之一的Collection接口. 一些Collection允 ...
- Java容器类接口:Iterator,Collection,Map
Iterator Iterator被称为迭代器,是一个对象,它的工作是遍历并选择序列中的对象,可以实现以下一些操作: 使用方法iterator()要求容器返回一个Iterator,Iterator将返 ...
- Java集合总结系列2:Collection接口
Collection 接口是 Java 集合类的一个根接口,Java 在 Collection 接口中定义了许多通用的数据操作类方法以及判断类方法. 通过查看 API 文档或源码的方式,我们可以了解到 ...
- Java中集合框架,Collection接口、Set接口、List接口、Map接口,已经常用的它们的实现类,简单的JDK源码分析底层实现
(一)集合框架: Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(实现接口的类).所有抽象出来的数据结构和操作(算法)统称为集合框架. 程序员在具体应用的时候,不必考虑数据结构和 ...
- Java学习笔记27(集合框架一:ArrayList回顾、Collection接口方法)
集合:集合是java中提供的一种容器,可以用来存储多个数据 集合和数组的区别: 1.数组的长度是固定的,集合的长度是可变的 2.集合中存储的元素必须是引用类型数据 对ArrayList集合的回顾 示例 ...
- java.util (Collection接口和Map接口)
1:Collection和Map接口的几个主要继承和实现类 1.1 Collection接口 Collection是最基本的集合接口,一个Collection代表一 ...
随机推荐
- 【Caffe】Ubuntu16.04上配置安装caffe(Only CPU)
一.首先看看自己的系统,Ubuntu16.04,cpu,没有Nvidia,没有opencv 二.安装依赖包 安装protobuf,leveldb,snappy,OpenCV,hdf5, protobu ...
- CSS之float浮动
CSS理解之float浮动 首先我们看看W3C给出的关于 float 的说明: 参考资料 MDN W3C
- 06--ubuntu的sqlite安装
知道学习嵌入式技术,数据库是必须懂的,看的书上嵌入式的教程都在用,看来我是非学不可了,下面就简单的记录一下我在Ubuntu 12.04系统上安装 SQLite 的过程以及使用. 相关阅读: SQLit ...
- The Standard SSL Handshake
The following is a standard SSL handshake when RSA key exchange algorithm is used: 1. Client Hello ...
- AcRxClass::addX
AcRxClass::addX函数 virtual AcRxObject * addX( AcRxClass* pProtocolClass, AcRxObject* pProtocolObject) ...
- python str操作
1. str.format():使用“{}”占位符格式化字符串(占位符中的索引号形式和键值对形式可以混合使用). 1 >>> string = 'python{}, django{} ...
- Python学习笔记——Matplot库
https://www.cnblogs.com/laoniubile/p/5893286.html 一.基本指令 import matplotlib.pyplot as plt plt.figure ...
- Vivaldi解决flash插件问题
Vivaldi浏览器 Vivaldi是Opera联合创始人.前CEO谭咏文(Jon von Tetzchner)2015年1月27日发布的一款浏览器,具有个性化的笔记功能,带有迷你屏幕截图的书签,以及 ...
- 单表:SQL语句关键字的执行顺序
表和数据: -- 创建表 CREATE TABLE `person` ( `id` ) NOT NULL AUTO_INCREMENT, `name` ) NOT NULL, `age` ) ', ` ...
- render: h => h(App) $mount 什么意思
初始一个vue.js项目时,常常发现main.js里有如下代码: new Vue({ render: h => h(App) }).$mount('#app') 这什么意思?那我自己做项目怎么改 ...