原文: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的负担
促进软件复用:符合标准集合接口的新数据结构天生可复用。操作于实现集合接口的对象上的新算法亦然。
相关推荐
能学到什么:在学习Java的朋友,可以从本文教程中学习到Java中最常用的集合框架,HashMap,ArrayList,HashSet等,同时又基于代码有一定层次的原理解释,让大家知其然,知其所以然,而又不会有太高的学习门槛。...
在这篇“Java 8新特性教程”系列文章中,我们会深入解释,并通过代码来展示,如何通过流来遍历集合,如何从集合和数组来创建流,以及怎么聚合流的值。 在之前的文章“遍历、过滤、处理集合及使用Lambda表达式增强...
- 字符串与集合:深入String类和集合框架,如ArrayList、HashMap。 - 异常处理:介绍try-catch和自定义异常。 五、I/O与文件操作 - I/O流:讲解输入输出流的基本概念。 - 文件操作:指导文件的读写和操作。 六、...
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring
java系列第八讲,java框架,包含课件、课程案例、课后作业。
Java集合框架 并发编程 框架 Spring SpringBoot 数据库 安全 分布式 微服务 Spring Cloud Dubbo 架构设计 场景设计 缓存 网络 网络学习资源 性能调优 性能调优学习资源 Tomcat 面试题 互联网大厂面试题 技术博客:IT...
JVM负责执行字节码,而类库则提供了各种API,如集合框架、IO流、网络通信等功能,为开发者提供了丰富的编程接口。 3. **工具集**:JDK还包括一系列开发者工具,如Java打包工具(jar)、Java文档生成工具(javadoc)...
Java经典入门教程pdf完整版Java私塾跟我学系列JAⅥ篇网址:htp:/www.lavass.Cn电话:010-86835215 3;Java是一种软件运行平台 3.1:什么是软件的运行平台 如同我们需要阳光、空气、水和食物才能正常存活一样,软件最终要...
在 java 语言中,Java 程序的基本单位是类,也就是说:一个 Java 程序是由多个类组成 的。定义一个类与定义一个数据类型是有区别的。在程序设计语言中,把定义数据类型的能 力作为一种很重要的能力来对待。在面向...
手动实现一个Spring框架 内容持续更新,详细教程欢迎关注我的博客 最近学习了一下spring的相关内容,所以也就想要照猫画虎地记录和实现一下spring的框架,通过阅读这些也希望能够消除对Spring框架的恐惧,其实细心...
一个很棒的React框架集合 真棒React 一系列关于 React 生态系统的精彩内容。 React 用于构建用户界面的 JavaScript 库 React一般资源 React社区 React在线游乐场 React教程 React一般教程 React最佳实践 React造型 ...
安卓锁机教程java源码令人敬畏的渗透测试 一组很棒的渗透测试资源 在线资源 渗透测试资源 - 免费的进攻性安全 Metasploit 课程 - 渗透测试执行标准 - 打开 Web 应用程序安全项目 - 面向渗透测试人员/研究人员的免费...
本文目的是通过java实战开发教程理解区块链是什么。将通过实战入门学习,用Java自学开发一个很基本的区块链,并在此...区块链就是一串或者是一系列区块的集合,类似于链表的概念,每个区块都指向于后面一个区块,然后
C语言自学完备手册(33篇) Android多分辨率适配框架 JavaWeb核心技术系列教程 ...在Java API中提供了操作数组的工具类 java.util.Arrays,例如:排序,查找,复制,数组转集合,数组转字符串等常见操
1. 现阶段,你可以直接建立java 工程,但一般都是开发web项目,这个系列教程最后也是web的,所以一开始就建立web工程。 2. 将 mybatis-3.2.0-SNAPSHOT.jar,mysql-connector-java-5.1.22-bin.jar 拷贝到 web工程的...
2、Spring Cloud是一系列工具框架的集合体。 3、Spring Cloud提供了一套完整的微服务解决方案。 16套Java架构师,集群,高可用,高可扩展,高性能,高并发,性能优化,设计模式,数据结构,虚拟机,微服务架构,日志...
这种通讯的定义是一种成对的消息:一个用于请求,一个用于回应。假设一个节点提供了一个服务提供下一个name和客户使用服务发送请求消息并等待答复。ROS的客户库通常以一种远程调用的方式提供这样的交互。 Bags: Bags...
NET委托:一个C#睡前故事 [推荐] - [原创] Microsoft .NET策略及框架概述 卸载Class? Web Form 窗体 如何实现web页面的提示保存功能 在ASP.Net中两种利用CSS实现多界面的方法 如何在客户端调用服务端代码 页面一...
一、Web安全系列之基础 1、Web安全基础概念(1天) 互联网本来是安全的,自从有了研究安全的人之后,互联网就变的不安全了。 2、web面临的主要安全问题(2天) 客户端:移动APP漏洞、浏览器劫持、篡改 服务器...
Android开发指南中文版-应用程序框架,Android驱动开发入门及手机案例开发分析教程,Android手机开发应用案例分析之手机 版开心网功能实现,Android硬件驱动开发关键技术和HAL移植要领,Android中文翻译组——Android...