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 ...
随机推荐
- H5图片上传插件
基于zepto,支持多文件上传,进度和图片预览,用于手机端. (function ($) { $.extend($, { fileUpload: function (options) { var pa ...
- 浅谈C#网络编程(一)
阅读目录: 基础 Socket编程 多线程并发 阻塞式同步IO 基础 在现今软件开发中,网络编程是非常重要的一部分,本文简要介绍下网络编程的概念和实践. Socket是一种网络编程接口,它是对传输层T ...
- Leetcode 笔记 100 - Same Tree
题目链接:Same Tree | LeetCode OJ Given two binary trees, write a function to check if they are equal or ...
- DOM对象模型接口规范中的四个基本接口
DOM对象模型的四个基本接口 在DOM对象模型接口规范中,有四个基本的接口:Document,Node,NodeList以及NamedNodeMap.在这四个基本接口中,Document接口是对文档进 ...
- 电商系统中的商品模型的分析与设计—续
前言 在<电商系统中的商品模型的分析与设计>中,对电商系统商品模型有一个粗浅的描述,后来有博友对货品和商品的区别以及属性有一些疑问.我也对此做一些研究,再次简单的对商品模型做一个介 ...
- 如何开发一个简单的HTML5 Canvas 小游戏
原文:How to make a simple HTML5 Canvas game 想要快速上手HTML5 Canvas小游戏开发?下面通过一个例子来进行手把手教学.(如果你怀疑我的资历, A Wiz ...
- WinForm中显示PDF文件
一.VS2013中,菜单-工具-选择工具箱项-COM组件-勾选“Adobe PDF Reader”-确定 二.在工具箱中就可以看到Adobe PDF Reader控件了,拖到窗体上. 拖到窗体上之后, ...
- Android开发学习之路-Android中使用RxJava
RxJava的核心内容很简单,就是进行异步操作.类似于Handler和AsyncTask的功能,但是在代码结构上不同. RxJava使用了观察者模式和建造者模式中的链式调用(类似于C#的LINQ). ...
- 架构设计:负载均衡层设计方案(2)——Nginx安装
来源:http://blog.csdn.net/yinwenjie(未经允许严禁用于商业用途!) 目录(?)[-] Nginx重要算法介绍 1一致性Hash算法 2轮询与加权轮询 Nginx的安装 1 ...
- SQL Server-分页方式、ISNULL与COALESCE性能分析(八)
前言 上一节我们讲解了数据类型以及字符串中几个需要注意的地方,这节我们继续讲讲字符串行数同时也讲其他内容和穿插的内容,简短的内容,深入的讲解,Always to review the basics. ...