Java 中的集合接口——List、Set、Map
Java 中的集合接口——List、Set、Map
什么叫集合:集合就是Java API所提供的一系列类的实例,可以用于动态存放多个对象。这跟我们学过的数组差不多,那为什么我们还要学集合,我们看看数组跟集合有什么区别:
数组:长度固定,遍历速度快 可以存储基本类型和引用类型;
集合:长度不固定,只能存储引用类型对象;
从数组跟集合的特点我们很明显的看出,数组有一定的局限性,如果我们需要不定期的往我们的数据中存储数据,数组就满足不了我们的要求。
Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中
Collection 接口存储一组不唯一,无序的对象 ;List 接口存储一组不唯一,有序(插入顺序)的对象;
Set 接口存储一组唯一,无序的对象;Map接口存储一组键值对象,提供key到value的映射
对于collection接口中的一些方法,我们用实际代码来学习一下吧:
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator; /**
* Collection
* 集合基本操作
* 添加
* 删除
* 遍历
* 判断
* 查找
* @author shen_hua
*
*/
public class CollectionDemo {
public static void main(String[] args) {
Collection<String> collection=new ArrayList<String>();
System.out.println("元素个数:"+collection.size()); //添加元素
collection.add("aaa");
collection.add("bbb");
collection.add("ccc");
System.out.println("增加后元素的个数:"+collection.size());
// //删除元素
// collection.remove("bbb");
// System.out.println("删除后元素的个数:"+collection.size());
// collection.clear();
// System.out.println("清空后元素的个数:"+collection.size());
//增强for循环遍历
System.out.println("增强for循环输出:");
for (Object object : collection) {
System.out.println(object);
}
//迭代器遍历
System.out.println("迭代器遍历:");
Iterator<String> iterator=collection.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
//判断是否包含
Boolean boolean1=collection.contains("aaa");
System.out.println(boolean1);
//判断是否为空
Boolean boolean2=collection.isEmpty();
System.out.println(boolean2);
}
}
Iterator接口:所有实现了Collection接口的集合类都有一个iterator()方法用以返回一个实现了Iterator接口的对象: Iterator it = coll.iterator();
Iterator迭代器的工作原理:Iterator是专门的迭代输出接口。所谓的迭代输出就是将元素进行判断,判断是否有内容,如果有内容则把内容取出。 Iterator对象称作迭代器,用以方便的实现对集合内元素的遍历操作。
凡是能用 Iterator 迭代的集合都可以用JDK5.0中增强的for循环来更简便的遍历。
List接口:
Java 中的集合接口——List、Set、Map的更多相关文章
- Java中的集合(十二) 实现Map接口的WeakHashMap
Java中的集合(十二) 实现Map接口的WeakHashMap 一.WeakHashMap简介 WeakHashMap和HashMap一样,WeakHashMap也是一个哈希表,存储的也是键值对(k ...
- Java基础(40):Java中的集合介绍---Collection与Map
集合类说明及区别Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMap ...
- Java中的集合(十三) 实现Map接口的Hashtable
Java中的集合(十三) 实现Map接口的Hashtable 一.Hashtable简介 和HashMap一样,Hashtable采用“拉链法”实现一个哈希表,它存储的内容是键值对(key-value ...
- Java中的集合(十一) 实现Map接口的TreeMap
Java中的集合(十一) 实现Map接口的TreeMap 一.TreeMap简介(基于JDK1.8) TreeMap是基于红黑树数据结构,是一个key-value的有序集合,该映射根据其键的自然顺序进 ...
- Java中的集合(七)双列集合顶层接口------Map接口架构
Java中的集合(七)双列集合顶层接口------Map接口 一.Map接口的简介 通过List接口,我们知道List接口下的集合是单列集合,数据存储是单列的结构.Map接口下是一个键值对(key-v ...
- Java中的集合框架-Map
前两篇<Java中的集合框架-Commection(一)>和<Java中的集合框架-Commection(二)>把集合框架中的Collection开发常用知识点作了一下记录,从 ...
- Java中的集合(十四) Map的实现类LinkedHashMap
Java中的集合(十四) Map的实现类LinkedHashMap 一.LinkedHashMap的简介 LinkedHashMap是Map接口的实现类,继承了HashMap,它通过重写父类相关的方法 ...
- Java开发知识之Java中的集合Set接口以及子类应用
---恢复内容开始--- Java开发知识之Java中的集合Set接口以及子类应用 一丶Set接口以及作用 在上一讲.我们熟悉了接口的实现图.以及自己各有的子类. List接口主要存储的数据是可以重复 ...
- Java中的集合(六)继承Collection的Set接口
Java中的集合(六)继承Collection的Set接口 一.Set接口的简介 Set接口和List接口都是继承自Collection接口,它与Collection接口中功能基本一致,并没有对Col ...
随机推荐
- Immutable(不可变)集合
不可变集合,顾名思义就是说集合是不可被修改的.集合的数据项是在创建的时候提供,并且在整个生命周期中都不可改变. 为什么要用immutable对象?immutable对象有以下的优点: 对不可靠的客户代 ...
- NodeJs 开发微信公众号(三)微信事件交互
微信公众号有个规则,一旦开启了开发者模式,其他的常规功能就都必须通过接口调用完成.比如说自定义菜单功能,必须通过发送post请求的方式生成.本章就通过关注到取消关注的整个过程来谈一谈nodejs是怎么 ...
- 纯JS打造比QQ空间更强大的图片浏览器-支持拖拽、缩放、过滤、缩略图等
在线演示地址(打开网页后,点击商家图册): http://www.sport7.cn/cc/jiangnan/football5.html 先看一看效果图: 该图片浏览器实现的功能如下: 1. 鼠标滚 ...
- 大数据之Oozie——源码分析(一)程序入口
工作中发现在oozie中使用sqoop与在shell中直接调度sqoop性能上有很大的差异.为了更深入的探索其中的缘由,开始了oozie的源码分析之路.今天第一天阅读源码,由于没有编译成功,不能运行测 ...
- jQuery 根据值或者文本选中select
今天因为有项目需要动态操作select选中 习惯在百度上搜了一下 ,结果还是挺多的.试了其中一个 发现不能使用.打开第2,3 个发现都是一样的然后自己稍微研究了一下 //初始化select,第一个选中 ...
- Vue.js入门
之前一直用的是jQuery,jQuery手动操作DOM导致性能不够好,因为DOM修改导致的页面重绘.重新排版!重新排版是用户阻塞的操作,同时,如果频繁重排,CPU使用率也会猛涨! Vue.js是数据驱 ...
- 搭建自己的Nuget服务器
序言 你们公司有没有好多项目,有没有好多类库,你们的类库是在tfs中管理,还是svn或者github,又或者是各自为政版本类库随意使用? 那么你们使用者写类库的时候方便吗? 有没有更新下载,版本不一致 ...
- 【.net 深呼吸】EqualityComparer——自定义相等比较
自定义实现两个对象的相等比较,一种方案是重写Object类的Equals方法,很easy,如果相等返回true,不相等就返回false.不过,如果把自定义相等的比较用于泛型集,比如Dictionary ...
- jQuery之常用且重要方法梳理(siblings,nextAll,end,wrap,apply,call,each)-(二)
1.siblings() siblings() 获得匹配集合中每个元素的同胞,通过选择器进行筛选是可选的. <body> <div><span>Hello</ ...
- MVC5 网站开发之六 管理员 1、登录、验证和注销
上次业务逻辑和展示层的架构都写了,可以开始进行具体功能的实现,这次先实现管理员的登录.验证和注销功能. 目录 奔跑吧,代码小哥! MVC5网站开发之一 总体概述 MVC5 网站开发之二 创建项目 MV ...