集合

一. 集合框架
集合框架
二. 集合的类型与各自的特性
  • Collection:单列集合
  • List:有储存顺序,可重复
    • ArrayList:数组实现,查找快,增删慢
      增删慢由于是数组实现,在增和删的时候会牵扯到数组的增容,以及拷贝元素,所以慢。数组是可以直接安索引查找,索引查找时较快。
    • LinkedList:链表实现,增删快,查找慢
      由于是链表实现,增加时只要让前一个元素记住自己就可以,删除时让前一个元素记住后一个元素,后一个元素记住前一个元素,这样增删效率较高,但查询时需要一个一个遍历,所以效率低。
    • Vector:和ArrayList原理相同,但线程安全,效率略低
      和ArrayList实现实现方式相同,但考虑了线程安全问题,所以效率略低。
  • Set:无存储顺序,不可重复
    • HashSet:线程不安全,存取速度快。
      底层是以哈希表实现。
    • TreeSet:红-黑数的数据结构,默认对元素进行自然排序。
      如果在比较的时候两个对象返回值为0,那么元素重复。
  • Map:键值对 键不可重复,值可以重复
    • HashMap:线程不安全,存取速度快。
      底层是以哈希表实现。
    • TreeMap:红-黑树是我数据结构,默认对元素进行自然排序。
      返回值为0,那么元素重复。
    • HashTable:底层也是使用Hash表维护的,存取速度快,存储元素是无序的。
三. Map集合的基本使用
  • put(key、value)
  • clear()
  • remove(key)
  • containskey(key)
  • containsvalue(value)
  • HashMap<key,value> map=new HashMap<key,value>();
四. Map集合的输出
  1. Collection和Map接口保存对象的区别:
区别

1) Collection中的每一个元素都是一个独立的对象
2) Map中的每一个元素都是key和value“结伴而行”的组合对象——也就是所谓的偶对象。
2.Map集合输出思路
Map.Entry是Map中定义的一个内部接口,而且这个接口是一个static定义的外部接口,在这个接口之中定义了两个非常重要的方法:
1)取得对应的key的方法。public K getKey();
2 ) 取得对应的Value的方法。public V getValue();
那么清楚了Map.Entry的作用之后,下面就可以采用如下步骤进行map的Iterator的输出了。
1) 通过Map接口之中entrySet()方法将map集合变成set集合,set之中的泛型类型为map.entry。
2 ) 利用set接口之中的iteration()方法取得iteration接口对象,此时的泛型类型依然为Map.Entry;
3 ) 利用Iteration迭代出每一个Map.Entry对象,在使用getKey()和getValue()方法取出内容。
案例:利用Iterator输出Map接口

package Dao;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

/**
 * Created by pc on 2017/7/8.
 */
public class IteratorMapDemo {
     public static void main(String [] args){
         Map<Integer,String> map=new HashMap<Integer, String>();
         map.put(1,"张三");
         map.put(2,"李四");
         map.put(3,"王麻子");
         Set<Map.Entry<Integer,String>> set=map.entrySet();
         Iterator<Map.Entry<Integer, String>> iter=set.iterator();
         while (iter.hasNext()){
             Map.Entry<Integer,String> me=iter.next();
             System.out.println(me.getKey()+"-->"+me.getValue());
         }
     }
}

运行结果:

运行结果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,294评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,780评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,001评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,593评论 1 289
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,687评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,679评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,667评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,426评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,872评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,180评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,346评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,019评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,658评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,268评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,495评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,275评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,207评论 2 352

推荐阅读更多精彩内容

  • title: java集合框架学习总结 tags:集合框架 categories:总结 date: 2017-03...
    行径行阅读 1,682评论 0 2
  • 集合类简介 为什么出现集合类?面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就要对对象进...
    阿敏其人阅读 1,416评论 0 7
  • 集合框架体系概述 为什么出现集合类?方便多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方法. 数组...
    acc8226阅读 771评论 0 1
  • 一、集合框架的概述 1、概述: 1、简述:所谓集合,就是为方便对多个对象的操作,对对象进行存储。集合就是存储对象最...
    玉圣阅读 512评论 0 4
  • 我们一辈子都离不开说话,从咿咿呀呀到出口成章。如何说话,如何说好话是我们要学习的地方。 我们总感慨有些人说话特别好...
    原小可阅读 150评论 0 4