`
159zone
  • 浏览: 3612 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Java集合框架概要

阅读更多

Java.util包中包含了Java中经常使用的集合框架,这里简单的作一下个人总结:

1. 学习一个包,首先看这个包中有那些接口。在java.util包中,包含的重要的接口有Collection,Map,Comparator,由Collection接口派生出两个接口Set,List,Set派生出的接口是SortedSet。Map派生出的接口是SortedMap。SortedSet和SortedMap可用于排序。
    Set和List的主要区别是Set不允许重复的元素,最多有一个null元素,List中可以由重复的元素,若列表中允许null元素,可以由多个null元素。向Set中添加自定义的类的对象时,最好实现类的hashCode()和equals()方法,通过这两个方法来确定对象是否同一对象,注意:两个方法都要实现,只实现其中一个方法是没有用的。

2. 直接实现Set接口的类有HashSet,LinkedHashSet(继承自HashSet),实现SortedSet 的类有TreeSet,TreeSet可以按照自然排序和使用Comparator接口进行排序,一般情况下,在不要求排序功能的时候,使用HashSet要优于TreeSet。
    直接实现List接口的类有ArrayList,LinkedList,ArrayList底层是由对象数组实现的,而LinkedList的底层是由双向循环链表实现的,故如果需要向列表的表头插入元素或频繁的插入、删除元素的话,使用LinkedList要优于ArrayList,否则的话,使用ArrayList更好。
    直接实现Map接口的类由HashMap,HashTable,直接实现SortedMap接口的类是TreeMap,这里关于HashMap和TreeMap的区别与HashSet和TreeSet的区别相似。关于HashMap和HashTable的区别:HashMap允许null键和null值,HashTable不允许使用null键和null值,HashMap的实现是不同步的,HashTable的实现是同步的,所以在不要求多线程运行的环境中,应该使用HashMap。Map接口中不允许出现重复的键,故用作键的对象应该实现hashCode()和equals()方法。

3. 实用类Collections,它定义了在Collection上操作的一些静态方法。在使用Collections对List中的对象排序时,List中的元素应该实现Comparable接口。

分享到:
评论

相关推荐

    Java中的集合框架Markdown全系列笔记

    内容概要:压缩包中含有Java中的集合框架Markdown全系列笔记,包括配图 能学到什么:在学习Java的朋友,可以从本文教程中学习到Java中最常用的集合框架,HashMap,ArrayList,HashSet等,同时又基于代码有一定层次的...

    最新java知识点概要.pdf

    Java 是一种广泛应用于互联网领域的编程语言,其设计目标是实现跨平台的可移植性。...在实际开发中,开发者还需要了解异常处理、集合框架、IO流、多线程并发、网络编程等更高级的主题,以构建更复杂的应用。

    java的概要介绍与分析

    对于初学者,有大量的免费和付费教程、在线课程、书籍和视频资源,帮助从零开始掌握Java编程基础,包括语法、面向对象编程、异常处理、集合框架等核心概念。 对于进阶开发者,Java生态系统中存在着大量的库和框架,...

    涵盖了 Java 基础、集合、源码、并发、虚拟机、框架、数据库、网络编程、设计模式、新特性和数据结构等多个知识领域的面试突击

    Java基础知识:数据类型、关键字、面向对象、集合框架、异常处理等 Java核心技术:I/O、多线程、网络编程、反射、泛型等 Java虚拟机:内存模型、垃圾收集器、类加载机制等 Java企业级开发:Spring、Hibernate、MyBatis等...

    JAVA手机程式设计入门.rar

    这一章主要讨论Java集合框架,包括ArrayList、LinkedList、HashMap等数据结构的使用,以及迭代器和泛型的概念。学习者将了解到如何有效地存储和操作数据,这对于开发任何Java程序都至关重要。 4. **ch-04.pdf - ...

    Java数据结构课件

    此外,课件可能还会涵盖数据结构在Java集合框架中的应用,如ArrayList、LinkedList、HashSet、HashMap等的内部实现原理,以及如何根据实际需求选择合适的数据结构。理解并熟练掌握这些内容对于提升编程能力、解决...

    corejava.zip

    第9章讨论Java平台的集合框架;第10章介绍GUI程序设计,讨论如何建立窗口、如何在窗口中绘图、如何利用几何图形绘图、如何采用多种字体格 式化文本,以及如何显示图像;第11章详细讨论抽象窗口工具包的事件模型;第...

    Java核心技术 卷1 基础知识 原书第9版

    《Java核心技术·卷1:基础知识(原书第9版)》共14章。第1章概述了Java语言与其他程序设计语言不同的性能...第13章讲解Java平台的集合框架;第14章介绍了多线程。本书最后还有一个附录,其中列出了Java语言的保留字。

    java核心技术卷1

    如Java语言的性能特点、如何下载安装JDK及设置开发环境、变量、循环和函数的基础知识、类与封装的概念、继承与接口的使用、内部类的特性、图形...处理机制、泛型程序设计概览、Java集合框架的深入解析以及多线程编程等...

    2020Java学习路线规划.pdf

    Java的集合框架包括了各种集合类如List、Set、Map等,它们都是接口,其具体实现类如ArrayList、LinkedList、HashMap、HashSet等提供了各种集合操作的方法。泛型的使用可以提高集合的类型安全,减少类型转换。 网络...

    Java核心技术卷一-完整书签-pdf

    Java领域最有影响力和价值的著作之一,拥有20多年教学与研究经验的资深Java技术专家撰写(获Jolt大奖),与...第13章讲解Java平台的集合框架;第14章介绍了多线程。本书最后还有一个附录,其中列出了Java语言的保留字。

    MyEclipse+6+Java+开发中文教程.rar

    7. **集合框架**:Java集合框架是处理数据的重要工具,包括ArrayList、LinkedList、HashSet、HashMap等。教程会解释它们的区别和使用场景。 8. **Swing与AWT**:如果想开发图形用户界面(GUI)应用,MyEclipse支持...

    Java面试重点详解及常见难题

    内容概要:本文档详细梳理了Java面试中常见和技术难度较高的题目,涵盖Java基础知识(如封装、继承、反射)、集合框架区别比较、并发编程机制、JVM性能优化、Spring框架核心概念以及数据库操作等相关知识点。...

    [计算机项目]基于java的图书馆书库管理系统设计与实现(源代码+项目报告).zip

    首先,从Java技术栈的角度来看,该系统可能采用了Java SE(标准版)作为后端开发基础,利用Java的面向对象特性进行模块化设计,同时可能运用了Java集合框架、多线程、IO流等核心概念。此外,为了实现数据库交互,...

    Java工程师必备面试题【多线程、反射、类加载器、JVM、泛型、异常处理、注解、面向对象编程、集合、IO流、序列化】

    内容概要:以上列出的Java面试题涵盖了Java语言的基础知识、面向对象编程、集合、IO流、多线程、反射、类加载器、JVM、序列化、泛型、异常处理、注解等多个方面。 适用人群:以上Java面试题适用于准备Java开发...

    Java核心技术卷一基础知识第10版

    第9章讨论Java平台的集合框架;第10章介绍GUI程序设计,讨论如何建立窗口、如何在窗口中绘图、如何利用几何图形绘图、如何采用多种字体格式化文本,以及如何显示图像;第11章详细讨论抽象窗口工具包的事件模型;第12...

    JAVA中英文翻译+JAVA文献检索

    本文档集合了JAVA的中英文翻译,这对于初学者和有一定经验的开发者来说都是一个宝贵的资源。虽然提供的翻译可能不是非常精确,但它们可以作为理解概念的基础,并在需要时进行修正和完善。 Java是一种广泛使用的面向...

Global site tag (gtag.js) - Google Analytics