Java中容器是Java3中比较方便快捷的容器,在各种程序中运用的比较多,给我们的编程带来了很大的方便。
现将我整理的基本知识列出,供学习参考使用,这些知识全都是在Java编程思想这本书中看到的。有不对之处多多指教。
按次序介绍如下:
Array的长度是固定的且无法动态改变其长度,也就是说定义大小后,此变量的大小不可以再改变了,但它是最有效的一个容器,存取速度相当快。
Array对象用length成员进行计算元素个数,通过[]来取用数据,array对象无法判断元素个数,只能计算其容量。
Array类拥有一组static函数,equals(),fill(),sort(),binary(),
Array复制System.arrayCopy().
compareTo()接受一个对象引数,此引数大于自己时返回负值,相等时返回零,小于时返回正值。
Java中的最关键的三个容器接口(list,set,map).
List是一个interface
List以元素按插次序来放置元素,不会重新排列。
ArrayList以Array实现完成的List,允许快速随机访问。如果只是简单地存取数据,而不对其中的数据进行有序插入使用此容器会很方便且速度很快。LinkList提供最佳循序访问,具有addFirst(),addLast(),getFirst(),getLast(),removeFirst(),removeLast(),如果需要在队列中插入一些数据,可用此容器。由于其list的灵活性,在各种程序中使用的比较多。
Set就是一个Collection 不接受重复元素,它使用自己内部的一个排列机制。
Set拥有和Collection一样的interfaces
HashSet注重查找时间,所有元素必须定义hashCode();对自己中的数据不进行有序排列,按照加入的先后次序进行排列。
TreeSet底层结构为tree的一种有序Set. 内部数据进行有序排列。
Map也不接受重复元素,重复与否以键值(key)判断,它拥有自己的内部排列机制。
ArrayList使用数字来选择值,而Map使用另一个对象来取值。
Map用put将Value值加入,用get()传回key对应的value。
使用containsKey()和containsValue()来检查map内是否含有某个key或某个value。
Map包括两个maps,HashMap,TreeMap
HashMap会运用对象的hashCode()并利用它来快速找到key,带来巨幅的效率提升。HashMap取代了Java2中的HashTable容器。
TreeMap基于红黑树完成的一个实现品,它的数据按次序排列并惟一拥有subMap(),此函数返回tree中的部分组成。
容器的填充
ArrayList以 add()方法进行数据的增加。容器有个Collections Class,含有一些static函数,比如fill(),它将用一个object reference 复制到容器的每个位置上(只能list有用),即把原先的值覆盖掉,此函数用处不大。
迭代器Iterator
迭代器是个对象,其职责便是走访以及选择序列中的一连串对象,迭代器是“轻量级”对晚,产生的代价极小。
第一次调用Iterator的next()时,返回序列中的第一个元素。
调用next()取得序列中的下一个元素。
调用hasNext()检查序列是否还有其它元素。
调用remove()移去迭代器最新传回的元素。
外引:
C++中的vector容器知道他所持有的对象隶属型别,但不进行边界检查,而Java中的容器都进行了边界检查,一旦越界即报RuntimeException。边界检查会带来额外的效率负担。
Java中的容器可以持有Java任何对象(基本型别除外)。 一旦将对象装入容器,其型别就会丢失,当你使用的时候,必须先进行转型。
分享到:
相关推荐
本文将深入探讨Java容器,并结合标签“源码”和“工具”,从源码层面和实用工具角度来分析这些知识点。 首先,Java容器是一个抽象的概念,它是指能够管理和协调Java对象生命周期的框架或库。Java中最常见的容器包括...
### Java基础知识精炼 #### 一、Java概述与发展历程 Java是一种高级编程语言,由Sun Microsystems公司的James Gosling等人于1991年开始研发,原名为Oak,旨在控制嵌入式设备如有线电视交换盒和PDA。1994年正式更名...
这篇“Java基础知识总结(经典)”涵盖了Java开发中的核心概念和重要知识点,旨在为初学者和有经验的开发者提供一个全面的回顾。以下是主要的学习点: 1. **Java环境配置**:在开始编程之前,必须安装Java ...
标题:“2021 - JAVA秋招基础知识点面试题”的知识点总结 1. JDK与JRE的区别: JDK是Java开发工具包,它包含了JRE和一些其他工具,如编译器javac和调试工具等。JRE是Java运行环境,仅用于运行Java程序。简单来说,...
Java 基础知识点汇总 以下是 Java 基础知识点汇总的详细说明: ### 1. 面向对象的特征 面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,它强调使用对象和类来组织和结构化代码。面向对象编程的...
在深入了解Java Web开发的基础知识之前,我们需要理解几个核心概念。 首先,Java Web应用的基础是Java Servlet,它是一个Java类,用于扩展服务器的功能,处理HTTP请求并生成响应。Servlet API是开发Servlet的接口...
Java基础知识是学习Java编程语言的基石,涵盖了许多关键概念。以下是一些主要的Java基础知识知识点: 1. **数据类型**:Java分为基本数据类型(如int, double, boolean等)和引用数据类型(如类、接口和数组)。...
对于初学者来说,掌握Java基础知识是进入这个领域的第一步。以下是一些核心知识点,可以帮助新手理解并开始学习Java。 1. **Java环境搭建**:首先,你需要安装Java Development Kit (JDK),它是编写和运行Java程序...
Java语言学习的基础知识涵盖了许多方面,对于初学者来说,理解并掌握这些概念是至关重要的。以下是一些核心知识点的详细说明: 1. **Java简介**:Java是一种面向对象的、跨平台的编程语言,由Sun Microsystems(现...
**JAVA基础知识精华总结** 在Java编程领域,基础知识是学习进阶技术的基石。这份"JAVA基础知识精华总结"文档涵盖了初学者需要掌握的核心概念,旨在帮助新手快速理解和掌握Java语言的基本特性。 1. **Java简介** ...
Java 基础知识点 Java 是一种面向对象的编程语言,它具有抽象、继承、封装、多态性等特征。下面是 Java 基础知识点的详细解释: 1. 面向对象的特征: 面向对象编程的四个基本特征是抽象、继承、封装和多态性。 *...
JAVA基础知识学习课件是针对初学者或在校大学生设计的一套完整的JAVA编程教程。这个课程涵盖了JAVA语言的基础概念,旨在帮助学习者建立起扎实的JAVA编程基础。以下是对每个压缩包文件内容的详细解释: 1. **lesson7...
《Java核心技术 卷1 基础知识》是Java编程领域的经典著作,原书第10版更是汇集了多年来Java语言发展的精华。本书主要涵盖了Java编程的基础知识,为读者提供了全面而深入的理解Java编程环境的必备知识。 首先,Java...
Java基础知识是每位Java开发者必须掌握的核心技能,涵盖了编程语法、数据类型、控制结构、类与对象、异常处理、集合框架等多个方面。以下是对这些基础知识的详细解析: 一、Java编程语法 Java是一种强类型、面向...
### Java基础知识总结 #### 一、Java概述 Java是由Sun Microsystems公司(现已被Oracle收购)在1991年由James Gosling领导的团队所开发的一种面向对象的编程语言。最初被命名为Oak,后因与互联网紧密相关的特性而...
### Java Web基础知识详解 #### 一、Java Web开发概述 Java Web开发技术是现代网络应用程序开发的重要组成部分之一,尤其在企业级应用开发中占据着举足轻重的地位。随着互联网的发展,用户对于交互式和动态内容的...
"Java相关基础知识(免积分)"这个主题包含了学习Java必备的一些核心概念和实践知识。以下是一些关键知识点的详细说明: 1. **Java语法基础**: - **变量与数据类型**:Java支持基本数据类型(如int、float、char...
Java是一种广泛使用的面向对象的编程语言,它简单、面向对象、稳定且跨平台。...学习Java基础不仅仅是学习它的语法和编程模型,还要理解Java的运行环境、开发环境以及如何有效地使用Java平台进行软件开发。
这份“Java基础知识复习资料”涵盖了学习Java编程所必需的关键概念和技术,旨在帮助初学者巩固基础,同时也适合有经验的开发者进行回顾。 1. **Java语法基础** - **变量与数据类型**:Java提供了基本数据类型(如...