java集合:Collection和Map的介绍

Collection集合://java.util.Collection

List接口:    List集合包括List接口以及List接口的所有实现类。List集合中的元素允许重复,元素的顺序就是插入的顺序

List接口常用的实现类:  ArrayList 和 LinkedList

?  ArrayList类:实现了可变的数组允许保存所有元素,包括null,并可以根据索引位置对集合进行快速的随机访问;缺点是向指定的索引位置插入对象或删除对象的速度较慢。

?  LinkedList类采用链表结构保存对象。这种结构的有点是便于向集合中插入和删除对象,需要向集合中插入对象,删除对象时,使用LinkedList类实现List集合的效率较高,但对于随机访问集合中的对象,使用LinkedList类实现List集合的效率较低。

Set接口:set集合中的对象不按特定的方式排序,只是简单地把对象加入集合中,但SET集合中不能包含重复对象,set集合有set接口和set接口的实现类组成。Set接口继承了Collection接口,因此包含Collection接口的多有方法。

Set接口常实现的类有: Hashset 和 TreeSet类

?  HashSet类实现Set接口,由哈希表(实际上是hashmap实例)支持。它不保证Set迭代顺序,特别是他不保证该顺序是恒久不变的,此类允许为空元素

?  TreeSet类不仅实现了Set接口,还实现了java.util.SortedSet接口,Treeset类实现的Set集合在遍历集合是时是按。照自然顺序递增排序,也可以按照指定比较器递增排序

Map集合:

         Map接口提供了将Key映射到value的对象,一个key只能映射一个value,且key不能重复

         Map接口常用的实现类有HashMap和TreeMap, 一般情况建议使用HashMap类实现Map集合,因为HashMap类实现的Map集合添加和删除映射关系效率高。

?  HashMap类是基于哈希表的Map接口的实现 ,次实现提供所有可选的映射操作,并允许使用NULL值和null键,但必须保证键的唯一性,HashMap通过哈希表对其内部的映射关系进行快速查找。此类不保证映射的顺序,并且不保证顺序恒久不变。

?  TreeMap类不仅实现了Map接口,还实现了java.util.SortedMap接口,集合的映射关系具有一定顺序,但在添加、删除和定位关系时候,Treemap比Hashmap类性能差。由于Treemap类实现的Map集合中的映射关系是根据键对象按照一定的顺序排列,因此不允许键对象是null

ArrayList使用的方法

import java.util.*;

public class ArrayListDemo {

public static void main(String[] args) {

List<String> al = new ArrayList<String>();

al.add("aaa");

al.add("bbb");

al.add("ccc");

System.out.println("集合的大小是:"+al.size());//会输出3

//用Iterator遍历

Iterator it = al.iterator();

while(it.hasNext()){

String str = (String)it.next();//由于it.next返回的是对象,必须强转

System.out.println(str);

}

}

}

HashMap使用的方法:

public class HashMapDemo {

public static void main(String[] args) {

Map<String,String> hm = new HashMap<String,String>();

hm.put("a", "123");

hm.put("b", "456");

hm.put("c", "789");

System.out.println(hm);//打印:{b=456, c=789, a=123}

//获取键 -- 值

Set<Entry<String,String>> set =  hm.entrySet();

Iterator<Entry<String, String>> it = set.iterator();

while(it.hasNext()){

Entry<String, String> str = it.next();

System.out.println("键:"+str.getKey()+" 值:"+str.getValue());

}

}

}

时间: 2024-12-14 10:06:35

java集合:Collection和Map的介绍的相关文章

Java 集合系列 08 Map架构

java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例 Java 集合系列 05 Vector详细介绍(源码解析)和使用示例 Java 集合系列 06 Stack详细介绍(源码解析)和使用示例 Java 集合系列 07 List总结(LinkedList, ArrayList等使用场景和

Java 集合系列 10 Hashtable详细介绍(源码解析)和使用示例

java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例 Java 集合系列 05 Vector详细介绍(源码解析)和使用示例 Java 集合系列 06 Stack详细介绍(源码解析)和使用示例 Java 集合系列 07 List总结(LinkedList, ArrayList等使用场景和

Java 集合系列 15 Map总结

java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例 Java 集合系列 05 Vector详细介绍(源码解析)和使用示例 Java 集合系列 06 Stack详细介绍(源码解析)和使用示例 Java 集合系列 07 List总结(LinkedList, ArrayList等使用场景和

Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例

java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例 概要  和学习ArrayList一样,接下来呢,我们先对LinkedList有个整体认识,然后再学习它的源码:最后再通过实例来学会使用LinkedList.内容包括:第1部分 LinkedList介绍第2部分 LinkedList数

Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例

java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例 概要 上一章,我们学习了Collection的架构.这一章开始,我们对Collection的具体实现类进行讲解:首先,讲解List,而List中ArrayList又最为常用.因此,本章我们讲解ArrayList.先对ArrayLis

Java 集合系列 06 Stack详细介绍(源码解析)和使用示例

java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例 Java 集合系列 05 Vector详细介绍(源码解析)和使用示例 Java 集合系列 06 Stack详细介绍(源码解析)和使用示例 第1部分 Stack介绍 Stack简介 Stack是栈.它的特性是:先进后出(FILO, F

Java 集合系列 09 HashMap详细介绍(源码解析)和使用示例

此页面为WP8"Surface Pro 3"应用的发布页面. "Surface Pro 3"是一款收集Surface Pro 3的玩机技巧的WP8程序,更好的帮助Surface用户理解并使用它. 此页面主要记录开发进度.APP发布等情况. -------------------相关进度--------------------- 目前进度:UI相关资源前期准备中,各相关开放平台的AppID申请中... Java 集合系列 09 HashMap详细介绍(源码解析)和使用

java集合 - Collection - List - Set - Map - Iterator 学习笔记

1.Collection接口 集合可以理解为一个动态的对象数组,两层含义: 1).动态:集合中的对象可以任意扩充和删减: 2).集合中可以存放任意对象. 集合的性能比数组高,而且更容易进行数据的扩展和修改. Collection的常用子接口:List.Set.Queue. 2.List接口 List集合可以存放任意对象,而且集合中对象可以重复. List的常用实现类:ArrayList.Vector. ArrayList与Vector的比较: 性能方面:ArrayList采用异步处理方式,性能高

Java 集合系列之 HashMap详细介绍(源码解析)和使用示例

学习Java的同学注意了!!! 学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:286945438 我们一起学Java! 概要 这一章,我们对HashMap进行学习. 我们先对HashMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用HashMap.内容包括: 第1部分 HashMap介绍 第2部分 HashMap数据结构 第3部分 HashMap源码解析(基于JDK1.6.0_45) 第3.1部分 HashMap的"拉链法"相关内容 第