深入java集合学习1-集合框架浅析

前言


集合是一种数据结构,在编程中是非常重要的。好的程序就是好的数据结构+好的算法。java中为我们实现了曾经在大学学过的数据结构与算法中提到的一些数据结构。如顺序表,链表,栈和堆等。Java
集合框架API是用来表示和操作集合的统一框架,它包含接口,实现类以及一些编程辅助算法。具体位于java.util包下。

java集合框架UML图

从上面的UML图中可以看出,集合框架可以简单的分为四部分

Collection接口以及实现类

Map接口及其实现类

Iterator接口及实现类

辅助工具类


 Collections、Arrays类

           
         
 Collections、Arrays是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中 元素进行排序、查找等各种操作。

         
 Comparable、Comparator接口

一般是用于对象的比较来实现排序,两者略有区别

Comparable用作默认的比较方式,实现了该接口的类之间可以相互进行比较,这个对象组成的集合就可以直接通过sort()进行排序了。

                   
 Comparator是设计模式中策略模式的一种应用。将算法的实现和数据进行了分离。
 
                 
 一般用在如下情况下:
               
 
 1、类设计者没有考虑到比较问题而没有实现Comparable接口。这是我们就可以通过使用Comparator,这种情况下,我们是不需要改变对象的。

                   
2、一个集合中,我们可能需要有多重的排序标准,这时候如果使用Comparable就难实现了可以实现Comparator提供多种标准的比较器进行排序。

时间: 05-09

深入java集合学习1-集合框架浅析的相关文章

吴裕雄--天生自然 JAVA开发学习:集合框架

import java.util.*; public class Test{ public static void main(String[] args) { List<String> list=new ArrayList<String>(); list.add("Hello"); list.add("World"); list.add("HAHAHAHA"); //第一种遍历方法使用foreach遍历List for (

学习心得——测试框架浅析

笔者按:       在这一学期的软件测试课程学习中,我逐渐接触到了软件测试的相关知识,实现了从较为关注软件编写与实现等前端内容到逐渐理解软件测试等项目后期环节的跨 越与 转变.而在软件测试领域,我们经常会听到测试框架这个名词,那什么是测试框架?它在软件测试中起到什么样的作用?我将就自己浅薄的学习心得,在这里为大 家做一个简单的分析与交流. 正文:          我们先来看一下百度百科给出的关于“框架”一词的定义:“框架(framework)是一个基本概念上的结构,用于去解决或者处理复杂的问

java核心学习(十七) IO框架---对象序列化

一.使用对象流实现序列化. 先定义一个可序列化的对象 package com.shy.IO; import java.io.Serializable; public class Person implements Serializable{ public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } publ

JAVA学习第三十六课(常用对象API)- 集合框架(四)— Set集合:HashSet集合演示

随着Java学习的深入,感觉大一时搞了一年的ACM,简直是明智之举,Java里很多数据结构.算法类的东西,理解起来就轻松多了 Set集合下有两大子类开发常用 HashSet集合 .TreeSet集合 Set集合的元素是不重复且无序 一.HashSet集合 API文档解释:此类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持.它不保证 set 的迭代顺序:特别是它不保证该顺序恒久不变.此类允许使用null 元素. 此类为基本操作提供了稳定性能,注意,此实现不是同步的. 由上可

Java学习关于集合框架的基础接口--Collection接口

 集合框架(Collection  Framework)是Java最强大的子系统之一,位于java.util 包中.集合框架是一个复杂的接口与和类层次,提供了管理对象组的最新技术.Java集合框架标准化了程序处理对象组的方式. 集合框架在设计上需要满足几个目标.首先,框架必须是高性能的.基本集合(动态数组.链表.树以及哈希表)的实现是高效率的.很少需要手动编写这些数据引擎中的某一个.其次,框架必须允许不同类型的集合以类似的方式进行工作,并且具有高度的互操作性.再次,扩展或改造必须易于实现.为了满

Java基础学习笔记十七 集合框架(三)之Map

Map接口 通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图. Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储. Map中的集合,元素是成对存在的(理解为夫妻).每个元素由键与值两部分组成,通过键可以找对所对应的值. Collection中的集合称为单列集合,Map中的集合称为双列集合. 需要注意的是,Map中的集合不能包含重复的键,值可以重复:每个键只能对应一个值. Map中

Java基础学习笔记十六 集合框架(二)

List List接口的特点: 它是一个元素存取有序的集合.例如,存元素的顺序是11.22.33.那么集合中,元素的存储就是按照11.22.33的顺序完成的. 它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理). 集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复的元素. List接口的常用子类有: ArrayList集合 LinkedList集合 List接口的特有方法(带索引的方法)1.增加元素方法 add(Object e):向集合末尾

java多线程系类:JUC集合:01之框架

概要 之前,在"Java 集合系列目录(Category)"中,讲解了Java集合包中的各个类.接下来,将展开对JUC包中的集合进行学习.在学习之前,先温习一下"Java集合包".本章内容包括:Java集合包JUC中的集合类 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3498454.html Java集合包 在"Java 集合系列01之 总体框架"中,介绍java集合的架构.主体内容包括Colle

Java学习笔记----------集合Set

Java集合-----Set集合:就像一种容器,可以把多个对象放进该容器中.Java集合分为:Set.List.Map三种体系. Set:无序的,不可重复的: List:有序的,可重复的: Map:代表有映射关系的集合,Map保存的每一项数据都是key-value对.注意:Java 5后添加了Queue体系,代表一种队列集合实现. 集合和数组对比:1.数组一旦初始化,长度不可变:2.数组无法保存具有映射关系的数据,例如成绩表:语文---79:3.数组的元素可以是基本类型的值,也可以是对象,而集合