栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java学习day10-Java高级-Java集合

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java学习day10-Java高级-Java集合

Java集合
  • Java集合框架概述
  • Collection接口方法
  • Iterator迭代器接口
    • JDK5.0后用foreach遍历集合和数组
  • Collection子接口1:List
    • 第一种实现方法ArrayList
    • 第二种实现类linkedList
    • 第三种Vector
    • 三种实现类之间的异同
  • Collection子接口2:Set
    • 第一种实现类HashSet
    • 第二种实现类linkedHashSet
    • 第三种实现类TreeSet
  • Map接口
    • 第一种实现类HashMap
    • HashMap的扩容
    • HashMap面试题
    • 第二种实现类之linkedHashMap
    • 第三种实现类TreeMap
    • 第四种实现类Hashtable
    • 第五种实现类Properties
  • Collections工具类

Java集合框架概述


数组不方便就用链表,链表是Java集合的一部分,数组中元素可以重复,但是集合里面不能重复,所以用Set来存放。相当于C++中的STL。有Map,List,Set这些标准数据结构以及其方法。


Collection接口方法

Collection中有一些集合的基本操作,像增删改查之类的都实现了。可以自行查阅


Iterator迭代器接口

和C++中一样,需要建立一个Iterator的对象来遍历集合,用于读取集合中的元素。取代了for i=0; i

JDK5.0后用foreach遍历集合和数组

Collection子接口1:List


常用类有可变的数组,可变的链表,可变向量。List可以动态的增加数组长度。

第一种实现方法ArrayList


ArrayList底层代码讲解视频

第二种实现类linkedList



linkedList底层代码讲解视频

第三种Vector

Vector底层代码讲解视频

三种实现类之间的异同

三者之间的异同:
同:三个类都实现了List接口,存储数据都是有序的可重复的。
不同:
ArrayList:作为List接口的主要实现类,线程不安全的,执行效率高。底层用Object[] elementData存储
Vector:作为List接口实现的古老的实现类,在List接口之前出来,List出来之后被归并到List的实现类中,线程安全的。Object[] elementData存储
linkedList:底层用双向链表存储。对于频繁的增删效率高

Collection子接口2:Set


第一种实现类HashSet

主要Set实现接口,线程不安全的,可以存储null值




第二种实现类linkedHashSet

作为HashSet的子类:遍历内部数据时,可以按照添加的顺序遍历。

第三种实现类TreeSet





Map接口


Map map = new HashMap();
//map.put(..,..)省略
System.out.println("map的所有key:");
Set keys = map.keySet();// HashSet
for (Object key : keys) {
System.out.println(key + "->" + map.get(key));
}
System.out.println("map的所有的value:");
Collection values = map.values();
Iterator iter = values.iterator();
while (iter.hasNext()) {
System.out.println(iter.next());
}
System.out.println("map所有的映射关系:");
// 映射关系的类型是Map.Entry类型,它是Map接口的内部接口
Set mappings = map.entrySet();
for (Object mapping : mappings) {
Map.Entry entry = (Map.Entry) mapping;
System.out.println("key是:" + entry.getKey() + ",value是:" + entry.getValue());
}
第一种实现类HashMap





HashMap的扩容




HashMap面试题


第二种实现类之linkedHashMap


第三种实现类TreeMap

第四种实现类Hashtable

第五种实现类Properties

Collections工具类



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/356511.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号