`

Java集合框架系列教程一:集合框架简介

    博客分类:
  • Java
 
阅读更多

原文:http://docs.oracle.com/javase/tutorial/collections/intro/index.html

一个集合,即collection,有时也被称为一个容器,只是将多个元素聚集成一个单元。Collections常被用来存储、检索、操纵聚集数据以及聚集数据间的通信。一般来说,Collections表示一组形成自然集合的数据项,比如一手扑克牌、一个信箱(由很多信组成)或者电话簿。 如果你熟悉Java语言或者任何一门其他编程语言,你可能已经对Collections比较熟悉了。Java 1.2之前的集合实现,包括Vector、Hashtable和array,但是这些早期实现版本不包括集合框架。

那么什么是集合框架呢? 一个集合框架是表示和操纵集合的同一架构。所有集合框架都包含下面几项:

接口:即表示集合的抽象数据类型,ADT。接口使得在使用集合时不需要关注集合的实现细节。在面向对象语言中,接口一般会形成层次结构。

实现:集合接口的具体实现。实际上它们是可复用的数据结构

算法:在实现集合接口的对象上进行的各种有意义的计算,如搜索、排序。实际上,算法是可复用的功能单元。

除了Java集合框架以外,其他有名的集合框架有C++ STL和Smalltalk语言的集合层次架构。历史上,集合框架因为他们相当复杂而具有相当陡峭的学习曲线,并因此而恶名昭著。

使用Java集合框架的好处 Java集合框架提供了下面的好处:

减轻编程负担:集合框架通过提供有用的数据结构和算法,使得我们从底层算法中解脱出来而能更专注于代码逻辑

提高编程效率和编程质量:Java集合框架提供了各种有用的数据结构算法的高性能、高质量实现。因为程序员从自己实现各种数据结构的艰苦工作中解放出来,因此有更多时间用来改善程序质量和程序性能

允许互操作性

减少了学习和使用新API的负担

减少了设计新API的负担

促进软件复用:符合标准集合接口的新数据结构天生可复用。操作于实现集合接口的对象上的新算法亦然。

1
1
分享到:
评论

相关推荐

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

    能学到什么:在学习Java的朋友,可以从本文教程中学习到Java中最常用的集合框架,HashMap,ArrayList,HashSet等,同时又基于代码有一定层次的原理解释,让大家知其然,知其所以然,而又不会有太高的学习门槛。...

    Java 8新特性之旅:使用Stream API处理集合

    在这篇“Java 8新特性教程”系列文章中,我们会深入解释,并通过代码来展示,如何通过流来遍历集合,如何从集合和数组来创建流,以及怎么聚合流的值。  在之前的文章“遍历、过滤、处理集合及使用Lambda表达式增强...

    编程课件+Java系列课程+PPT课件+Java教学

    - 字符串与集合:深入String类和集合框架,如ArrayList、HashMap。 - 异常处理:介绍try-catch和自定义异常。 五、I/O与文件操作 - I/O流:讲解输入输出流的基本概念。 - 文件操作:指导文件的读写和操作。 六、...

    25章Java七大热门技术框架源码解析

    Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring

    08-《集合框架-1》.rar

    java系列第八讲,java框架,包含课件、课程案例、课后作业。

    java-tech-stack:Java技术栈,涉及Java技术体系,Java编程练习题,Java面试题,IT宅文章收录,以及业界优秀博文收录

    Java集合框架 并发编程 框架 Spring SpringBoot 数据库 安全 分布式 微服务 Spring Cloud Dubbo 架构设计 场景设计 缓存 网络 网络学习资源 性能调优 性能调优学习资源 Tomcat 面试题 互联网大厂面试题 技术博客:IT...

    jdk8安装超详细教程,两种配置环境变量方法

    JVM负责执行字节码,而类库则提供了各种API,如集合框架、IO流、网络通信等功能,为开发者提供了丰富的编程接口。 3. **工具集**:JDK还包括一系列开发者工具,如Java打包工具(jar)、Java文档生成工具(javadoc)...

    Java经典入门教程pdf完整版

    Java经典入门教程pdf完整版Java私塾跟我学系列JAⅥ篇网址:htp:/www.lavass.Cn电话:010-86835215 3;Java是一种软件运行平台 3.1:什么是软件的运行平台 如同我们需要阳光、空气、水和食物才能正常存活一样,软件最终要...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    在 java 语言中,Java 程序的基本单位是类,也就是说:一个 Java 程序是由多个类组成 的。定义一个类与定义一个数据类型是有区别的。在程序设计语言中,把定义数据类型的能 力作为一种很重要的能力来对待。在面向...

    java8集合源码分析-mini-spring:手写Spring——从头实现一个小型Spring框架

    手动实现一个Spring框架 内容持续更新,详细教程欢迎关注我的博客 最近学习了一下spring的相关内容,所以也就想要照猫画虎地记录和实现一下spring的框架,通过阅读这些也希望能够消除对Spring框架的恐惧,其实细心...

    百度翻译源码java-awesome-react:一个很棒的React框架集合

    一个很棒的React框架集合 真棒React 一系列关于 React 生态系统的精彩内容。 React 用于构建用户界面的 JavaScript 库 React一般资源 React社区 React在线游乐场 React教程 React一般教程 React最佳实践 React造型 ...

    安卓锁机教程java源码-HackingTools-2:为黑客、渗透测试人员和安全研究人员准备的一组很棒的列表

    安卓锁机教程java源码令人敬畏的渗透测试 一组很棒的渗透测试资源 在线资源 渗透测试资源 - 免费的进攻性安全 Metasploit 课程 - 渗透测试执行标准 - 打开 Web 应用程序安全项目 - 面向渗透测试人员/研究人员的免费...

    java开发区块链只需150行代码

    本文目的是通过java实战开发教程理解区块链是什么。将通过实战入门学习,用Java自学开发一个很基本的区块链,并在此...区块链就是一串或者是一系列区块的集合,类似于链表的概念,每个区块都指向于后面一个区块,然后

    Arrays工具类常用方法

    C语言自学完备手册(33篇) Android多分辨率适配框架 JavaWeb核心技术系列教程 ...在Java API中提供了操作数组的工具类 java.util.Arrays,例如:排序,查找,复制,数组转集合,数组转字符串等常见操

    springmybatis

    1. 现阶段,你可以直接建立java 工程,但一般都是开发web项目,这个系列教程最后也是web的,所以一开始就建立web工程。 2. 将 mybatis-3.2.0-SNAPSHOT.jar,mysql-connector-java-5.1.22-bin.jar 拷贝到 web工程的...

    26.Spring Boot 服务的注册和发现.rar

    2、Spring Cloud是一系列工具框架的集合体。 3、Spring Cloud提供了一套完整的微服务解决方案。 16套Java架构师,集群,高可用,高可扩展,高性能,高并发,性能优化,设计模式,数据结构,虚拟机,微服务架构,日志...

    ROS机器人操作系统入门 Tutorials CN版 20150726

    这种通讯的定义是一种成对的消息:一个用于请求,一个用于回应。假设一个节点提供了一个服务提供下一个name和客户使用服务发送请求消息并等待答复。ROS的客户库通常以一种远程调用的方式提供这样的交互。 Bags: Bags...

    asp.net知识库

    NET委托:一个C#睡前故事 [推荐] - [原创] Microsoft .NET策略及框架概述 卸载Class? Web Form 窗体 如何实现web页面的提示保存功能 在ASP.Net中两种利用CSS实现多界面的方法 如何在客户端调用服务端代码 页面一...

    Web安全培训ppt(适合初学者)

    一、Web安全系列之基础 1、Web安全基础概念(1天) 互联网本来是安全的,自从有了研究安全的人之后,互联网就变的不安全了。 2、web面临的主要安全问题(2天) 客户端:移动APP漏洞、浏览器劫持、篡改 服务器...

    Android 初学中阶高阶书籍_集合打包2

    Android开发指南中文版-应用程序框架,Android驱动开发入门及手机案例开发分析教程,Android手机开发应用案例分析之手机 版开心网功能实现,Android硬件驱动开发关键技术和HAL移植要领,Android中文翻译组——Android...

Global site tag (gtag.js) - Google Analytics