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. Web 字体 font-family 再探秘

    之前写过一篇关于Web字体简介及使用技巧的文章: 你该知道的字体 font-family. 该篇文章基本没有太多移动端的字体选择及分析.并且过了这么久,如今的 Web 字体又有了一些新的东西,遂有此文 ...

  2. Stream和方法引用

    1.Stream流 1.for循环带来的弊端 在jdk8中,lambda专注于做什么,而不是怎么做 for循环的语法就是怎么做 for循环的循环体才是做什么 遍历是指每一个元素逐一进行处理,而并不是从 ...

  3. 暂停研发surging,是否继续维护!

    前言 surging从2017 年开始,2 年来利用业余时间为 surging语言添砖加瓦. 这种活雷锋行为并没有得到开发者们的理解,很多人甚至用命令的口吻,灵魂拷问方式要求活雷锋们再苦再累也得免费为 ...

  4. 性能测试学习第二天-----loadrunner常用函数大全及设置项

    常用函数大全: 1,C语言参数转web参数 lr_save_string("aaa","param"):将字符串“aaa”或者一个字符串变量,转变成LR的参数{ ...

  5. Linux配置部署_新手向(一)——CentOS系统安装

    目录 前言 VMware 开始安装 系统安装 小结 @ 前言 最近忙过一件人生大事之后,终于稍微有点时间鼓捣东西,之前net core相关的基础已经鼓捣的差不多了,既然net core跨平台,那就来体 ...

  6. 常用加密解密算法【RSA、AES、DES、MD5】介绍和使用

    内容不转载了,加上链接https://blog.csdn.net/u013565368/article/details/53081195?_t=t

  7. 一文了解Python常见的序列化操作

    关于我 一个有思想的程序猿,终身学习实践者,目前在一个创业团队任team lead,技术栈涉及Android.Python.Java和Go,这个也是我们团队的主要技术栈. Github:https:/ ...

  8. ajax后台处理响应(java)

    public static final void sendAsJson(HttpServletResponse response, String str) { response.setContentT ...

  9. vuex详解vue简单使用

    vue概念:vuex 是 Vue 配套的 公共数据管理工具,它可以把一些共享的数据,保存到 vuex 中,方便 整个程序中的任何组件直接获取或修改我们的公共数据: 配置vuex的步骤: 1.运行cnp ...

  10. 前端优化---回流 (reflow)与 重绘(repaint)

    回流(reflow):指的是网络浏览器为了重新渲染部分或全部的文档而重新计算文档中元素的位置和几何结构的过程. 页面上节点是以树的形式展现的,我们通过js将页面上的一个节点删除,此时为了不让剩下的节点 ...