`
acen.chen
  • 浏览: 154119 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

有关Java容器的基础知识

阅读更多

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任何对象(基本型别除外)。 一旦将对象装入容器,其型别就会丢失,当你使用的时候,必须先进行转型。
分享到:
评论
1 楼 chinaboby2008 2009-10-11  
这是java中的j2se部分。是java的基础呢。

相关推荐

    JAVA容器知识积累

    JAVA容器基础知识,分析及使用方法,知识总结,数组,List,set,Map

    Java基础知识点总结.docx

    Java学习更是如此,知识点总结目录如下: 目录 一、 Java概述 3 二、 Java语法基础 5 数据类型 5 运算符号 14 语句 15 函数 15 方法重载(Overloadjing)与重写(Overriding) 16 数组 17 总结 18 三、 常见关键字 ...

    2021 - JAVA秋招基础知识点面试题

    本人2021年JAVA秋招基础知识点面试题个人总结,包括JAVA基础、JAVA容器、JAVA多线程、JVM等,涵盖大中厂面试题,答案仅供参考。

    Java常用基础知识-kaic.docx

    今天我们进入《Java常用基础知识》专题,动力节点Java资源库整合了近年各大厂的面试中的常见问题和知识点。每天更新10个,我们的最终目标就是大厂,若对题目有疑问,可在公众号后台留言提问。 目标:阿里巴巴、腾讯...

    JAVA面试提纲包括JAVA基础知识总结、数据结构、JVM、多线程等

    之前前辈传下来的复习提纲,帮助校招生找到好的...其中校招真题题解,JAVA IO,JAVA 并发,JAVA 基础,JAVA容器,JVM Leetcode、LINUX,Mysql,代码风格规范,计算机操作系统、算法、剑指offer、面向对象思想、设计模式

    教学课件+Java基础知识+PPT课程+Java教学

    Java基础知识课件 1. 引言 Java是一种广泛使用的编程语言,以其跨平台兼容性和健壮性而闻名。Java最初由Sun Microsystems(现为Oracle Corporation的一部分)开发,并于1995年发布。 2. Java的特点 -跨平台兼容性:...

    「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识 准备 Java 面试,首选.zip

    基础 知识点/面试题总结 : (必看 ): ...IO 基础知识总结 IO 设计模式总结 IO 模型详解 并发 知识点/面试题总结 : (必看 ) Java 并发常见知识点&面试题总结(上) Java 并发常见知识点&面试题总结(中) Jav

    「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识

    基础 知识点/面试题总结 : (必看 ): ...IO 基础知识总结 IO 设计模式总结 IO 模型详解 并发 知识点/面试题总结 : (必看 ) Java 并发常见知识点&面试题总结(上) Java 并发常见知识点&面试题总结(中) Java 并

    Java后端面试知识点总结

    Java后端面试知识点总结 数据库 mysql redis java java虚拟机 java并发 java容器 java基础 计算机网络 数据结构与算法 操作系统/Linux 设计模式 场景题和设计题 流行框架

    并发编程实践,全面介绍基础知识、JVM同步原语、线程安全、低级并发工具、线程安全容器、高级线程协作工具、Executor部分等

    基础知识   并发与并行   Java并发演进历史   Java并发模型   线程模型   存储模型 JVM同步原语 volatile CAS 线程安全   保护“共享数据” 低级并发工具   原子变量   锁(内部锁和显式锁) 线程安全容器...

    【Java学习+面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识.rar

    JavaGuide 【Java学习+面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。 介绍 对于 Java 初学者来说: 本文档倾向于给你提供一个比较详细的学习路径,让你对于Java整体的知识体系...Java 基础知识疑难点/

    Java学习笔记

    自己在java学习过程中的笔记,从最基础的创建java环境,java的基础知识,java变量的内存存储过程,到容器,异常,多线程等都有详尽涉及。 Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里...

    JAVA基础课程讲义

    包装类基本知识 117 包装类的用途 118 自动装箱和拆箱?autoboxing,unboxing 119 字符串相关类(String、 StringBuffer 、 StringBuilder) 120 String类的常用方法(已讲过,不再讲!) 120 StringBuffer和...

    【Java面试+Java学习指南】 一份涵盖大部分Java程序员所需要掌握的核心知识

    基础知识 面向对象基础 Java基本数据类型 string和包装类 final关键字特性 Java类和包 抽象类和接口 代码块和代码执行顺序 Java自动拆箱装箱里隐藏的秘密 Java中的Class类和Object类 Java异常 解读Java中的回调 反射...

    java面试第一部分:基础知识

    容器、对象拷贝、javaweb、异常、网络通讯、设计模式等基础知识汇总

    【Java基础知识】全面涵盖了JavaSE的知识点笔记

    可以用于面试过一下基础知识点,知识点包含:变量、数据类型、运算符、控制语句、面向对象编程、异常机制、集合(容器)、IO流、多线程、网络编程、反射

    Java 2教程(第五版)

    本书主要介绍了核心语言...企业级Java技术部分讨论了JDBC API、EJB体系结构的基础知识、Java平台安全方案以及XML。 本书结构严谨、语言流畅,是一个学习Java 2最新技术的综合参考书,适合各种层次的Java编程人员使用。

    java程序设计

    《Java程序设计》系统地介绍了Java程序语言的知识,全书分为13...在介绍基础知识的同时,《Java程序设计》又增加了很多Java高级编程的知识,如JSP与Servlet,Java的网络编程,JDBC技术等。 张化祥 (作者), 陆晶 (作者)

    Java语言基础下载

    I/O基础知识 193 字节流 193 字符流 194 节点流 194 过程流 194 基本字符流类 198 对象串行化 201 实例分析 203 内容总结 211 独立实践 212 第十三章:网络 213 学习目标 213 TCP/IP协议模型 214 基于Java的网络技术...

    Java面试大全(备战2021) 最新Java面试必问合集 PDF版

    一、Java基础知识面试题 1、Java概述 2、基础语法 3、面向对象 4、IO流? 5、反射 6、网络编程 7、常用API 8、常用工具类库 9、单元测试 10、日志 二、Java集合容器面试题 1、集合容器概述 2、Collection接口 3、Map...

Global site tag (gtag.js) - Google Analytics