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连载16-++传参&关系运算符

    一.++再举例 int a = 10; System.out.print(a++);//这里会打印出10,因为他们内部这个print函数有参数相当于参数x=a++ System.out.println ...

  2. Day3 AntV/G2图表的组成

    简介 为了更好的使用G2进行数据可视化,我们需要先了解G2图表的组成及其相关概念. 完整的G2图表组成如下图所示:可以看出图表主要由axes(坐标轴axis的复数),tooltip(提示信息),gui ...

  3. 003——Netty之Buffer、Channel以及多路复用器Selector

    Buffer 1.缓冲区类型 2.缓冲区定义 (1)Buffer是一个对象,其中包含写入与读出的数据.是新IO与原IO的重要区别.任何情况下访问NIO中的数据都需要通过缓存区进行操作. (2)Buff ...

  4. java 线程池newFixedThreadPool

    工作中遇到一个这样的情况,List中的元素要每个遍历出来,然后作为参数传给后面通过spark做数据处理,元素太多,一个一个的遍历速度太慢,于是考虑使用多线程,代码如下:(已删除部分代码) 想了解更多线 ...

  5. 入门MySQL——用户与权限

    前言:  前面几篇文章为大家介绍了各种SQL语法的使用,本篇文章将主要介绍MySQL用户及权限相关知识,如果你不是DBA的话可能平时用的不多,但是了解下也是好处多多. 1.创建用户 官方推荐创建语法为 ...

  6. mybatis 中 useGeneratedKeys 和 keyProperty 含义

    MyBatis如何获取插入记录的自增长字段值: 第一步: 在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Ja ...

  7. Android进阶之绘制-自定义View完全掌握(一)

    Android的UI设计可以说是决定一个app质量的关键因素,因为人们在使用app的时候,最先映入眼帘的就是app的界面了,一个美观.充实的界面能够给用户带来非常好的体验,会在用户心中留下好的印象. ...

  8. 地图POI类别标签体系建设实践

    导读 POI是“Point of interest”的缩写,中文可以翻译为“兴趣点”.在地图上,一个POI可以是一栋房子.一个商铺.一个公交站.一个湖泊.一条道路等.在地图搜索场景,POI是检索对象, ...

  9. tensorflow如何继续训练之前保存的模型

    https://blog.csdn.net/qq_23981335/article/details/81480220

  10. pip安装ansible的过程

    我的python环境已经搭好了pip,可以用pip直接安装. 1.首先要安装基础环境: 1)yum install gcc glibc-devel zlib-devel rpm-build opens ...