Java集合框架提供了一套性能优良、使用方便的接口和类,他们位于java.util包中。

Collection接口 主要有List、Set等实现类,Map接口主要有HashMap、TreeMap等实现类。Collections提供了对集合进行排序、遍历等多种算法实现。

以下为Set集合的使用:存储唯一的,无序的对象。派生类HashSet。

Set set=new HashSet();
set.add("周五");
set.add(199);
set.add(23.55);
set.add(100f);

使用foreach方法进行输出:

for (Object object : set) {
System.out.println(object);
}

应该注意的是,set接口没有get方法,所以不能用for循环遍历输出。

使用迭代器取值

Iterator its = set.iterator();
while (its.hasNext()) {
//进入循环输出集合中的元素
Object obj = its.next();
System.out.println(obj);
}

程序运行结果为:

23.55
周五
100.0
199
-------------------
23.55
周五
100.0
199

TreeSet实现排序功能

Set set=new TreeSet();
set.add("2ee");
set.add("jsk");
set.add("sda");
set.add("wql");
set.add("sdj");
for (Object object : set) {
System.out.println(object);
}

Map接口

Map接口存储一组键值对象,提供key到value的映射。

示例需求说明:

创建一个诗的集合,迭代出每首诗的名称,作者,内容,

分析:

创建“诗”类Poem,属性包括:名称、作者、内容

使用HashMap存储诗的信息,将诗的名称作为key,诗内容作为value。

解决:

首先创建Poem类,类中包含私有属性:名称、作者、内容,并生成对应的get、set方法,生成全参构造函数和无参构造函数。

在测试类中对对象数组进行赋值:

     Poem poem1=new Poem("春晓", "孟浩然","春眠不觉晓,处处闻啼鸟。夜来风雨声,花落知多少。");
Poem poem2=new Poem("鹿柴", "王维","空山不见人,但闻人语响。返影入深林,复照青苔上。");
Poem poem3=new Poem("相思", "王维","红豆生南国,春来发几枝。愿君多采撷,此物最相思。");

然后创建Map下的HashMap函数,

Map<String, Poem> map=new HashMap<String, Poem>();

然后使用map.put添加数据:

        map.put("春晓", poem1);
map.put("鹿柴", poem2);
map.put("相思", poem3);

最后使用迭代器进行输出:

Set keys=map.keySet();
Iterator its = keys.iterator();
while(its.hasNext()){
String key=(String) its.next();
Poem poem=map.get(key);
System.out.println(poem.getName()+poem.getAuthor()+poem.getWenzhang());
}

程序运行结果为:

相思
王维
红豆生南国,春来发几枝。愿君多采撷,此物最相思。
春晓
孟浩然
春眠不觉晓,处处闻啼鸟。夜来风雨声,花落知多少。
鹿柴
王维
空山不见人,但闻人语响。返影入深林,复照青苔上。

LinedList操作数据

插入、删除操作频繁时,可使用LinkedList来提高效率。

以下为常用的操作方法:

void addFirst(Object o)              在列表的首部添加元素

void addLast(Object o)              在列表的末尾添加元素

Object getFirst()                        返回列表中的第一个元素

Object getLast()                        返回列表中的最后一个元素

Object removeFirst()                 删除并返回列表中的第一个元素

Object removeLast()                 删除并返回列表中的最后一个元素

Map接口专门处理键值映射数据的存储,可以根据键实现对值的操作。最常用的实现类是HashMap。

以下为常用的操作方法

Object put(Object key, Object val)                     以“键-值对”的方式进行存储

Object get (Object key)                                     根据键返回相关联的值,如果不存在指定的键,返回null

Object remove (Object key)                              删除由指定的键映射的“键-值对”

int size()                                                           返回元素个数

Set keySet ()                                                    返回键的集合

Collection values ()                                          返回值的集合

boolean containsKey (Object key)                   如果存在由指定的键映射的“键-值对”,返回true

Hashtable和HashMap的异同

Hashtable继承Dictionary类,HashMap实现Map接口。

Hashtable线程安全,HashMap线程非安全

Hashtable不允许null值,HashMap允许null值。

JAVA集合框架包含的内容的更多相关文章

  1. java 集合框架小结

    一:集合框架  集合框架是为表示和操作集合而规定的一种统一的标准的体系结构.  任何集合框架都包含三大块内容:对外的接口.接口的实现和对集合运算的算法.   接口:即表示集合的抽象数据类型.Colle ...

  2. 详谈java集合框架

    1.为什么使用集合框架 当我们并不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象——可以使用Java集合框架 2.Java集合框架包含的内容 接口:(父类)Collection接口下包含Li ...

  3. Java——集合框架之ArrayList,LinkedList,迭代器Iterator

    概述--集合框架 Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类).所有抽象出来的数据结构和操作(算法)统称为Java集合框架(Java Collection ...

  4. Java集合框架的总结

    本篇文章先从整体介绍了Java集合框架包含的接口和类,然后总结了集合框架中的一些基本知识和关键点,并结合实例进行简单分析.当我们把一个对象放入集合中后,系统会把所有集合元素都当成Object类的实例进 ...

  5. Java集合框架的知识总结(1)

    说明:先从整体介绍了Java集合框架包含的接口和类,然后总结了集合框架中的一些基本知识和关键点,并结合实例进行简单分析. 1.综述 所有集合类都位于java.util包下.集合中只能保存对象(保存对象 ...

  6. Java集合框架 面试问题整理

    简介 java集合类是java.util 包中的重要内容.java集合框架包含了大量集合接口以及这些接口的实现类和操作他们的算法. java集合框架图 主要提供的数据结构 List 又称有序的Coll ...

  7. Java集合框架List,Map,Set等全面介绍

    Java集合框架的基本接口/类层次结构: java.util.Collection [I]+--java.util.List [I]   +--java.util.ArrayList [C]   +- ...

  8. (转)Java集合框架:HashMap

    来源:朱小厮 链接:http://blog.csdn.net/u013256816/article/details/50912762 Java集合框架概述 Java集合框架无论是在工作.学习.面试中都 ...

  9. 【JAVA集合框架之Map】

    一.概述.1.Map是一种接口,在JAVA集合框架中是以一种非常重要的集合.2.Map一次添加一对元素,所以又称为“双列集合”(Collection一次添加一个元素,所以又称为“单列集合”)3.Map ...

随机推荐

  1. Java 调用http接口(基于OkHttp的Http工具类方法示例)

    目录 Java 调用http接口(基于OkHttp的Http工具类方法示例) OkHttp3 MAVEN依赖 Http get操作示例 Http Post操作示例 Http 超时控制 工具类示例 Ja ...

  2. 第一次Git使用以及码云(Gitee)

    下载安装Git,官网下载地址https://git-scm.com/downloads,我用的是Win10版,下载好后一路默认安装,安装时会给你自动添加环境变量,完成后打开cmd,输入git --ve ...

  3. Ubuntu下安装php7.1的gd,mysql,pdo_mysql扩展库

    执行以下命令 # apt-get install php7.1-gd # apt-get install php7.0-mysql 重新启动 php7.1-fpm(因为我是安装的 Nginx 和 ph ...

  4. WIN10家庭版桌面右键单击显示设置出现ms-settings:display或ms-settings:personalization-background解决办法[原创]

    最近,笔者的笔记本卸载oracle数据库,注册表里面删除了不少相关信息,没想到担心的事情还是来了!桌面右键单击显示设置出现ms-settings:display或ms-settings:persona ...

  5. (18)ASP.NET Core 基于现有数据库创建EF模型(反向工程)

    1.简介 Entity Framework Core可通过数据库提供给应用程序的插件访问许多不同的数据库.我们可以通过使用Entity Framework Core构建执行基本数据访问的ASP.NET ...

  6. 大白话5分钟带你走进人工智能-第35节神经网络之sklearn中的MLP实战(3)

    本节的话我们开始讲解sklearn里面的实战: 先看下代码: from sklearn.neural_network import MLPClassifier X = [[0, 0], [1, 1]] ...

  7. TCP与UDP的主要特点

    UDP主要特点: (1)UDP是无连接的,即发送数据之前不需要建立连接(当然,发送数据结束时也没有连接可以释放),因此减少了开销和发送数据之前的时延. (2)UDP使用尽最大努力交付,即不保证可靠交付 ...

  8. 服务链路跟踪 && 服务监控

    服务链路跟踪 背景 微服务以微出名,在实际的开发过程中,涉及到成百上千个服务,网络请求引起服务之间的调用极其复杂. 当请求不可用或者变慢时,需要及时排查出故障服务点成为了微服务维护的一大难关. 服务链 ...

  9. webservice接口和http接口(API接口)的区别

     web service(SOAP)与HTTP接口的区别: 什么是web service?       答:soap请求是HTTP POST的一个专用版本,遵循一种特殊的xml消息格式Content- ...

  10. CentOS7配置网络ip地址

    CentOS7配置网络ip地址 CentOS 7.x版本中没有ifcfg-eth0文件 只有ifcfg-ens33文件(为了符合日常习惯) (1)将文件ifcfg-ens33重命名为ifcfg-eth ...