码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA集合框架包含的内容

时间:2018-03-30 21:54:53      阅读:367      评论:0      收藏:0      [点我收藏+]

标签:put   key   返回   循环   构造   each   add   name   util   

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集合框架包含的内容

标签:put   key   返回   循环   构造   each   add   name   util   

原文地址:https://www.cnblogs.com/sonder/p/8678345.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!