Java集合类List/Set/Map的区别和联系

一、Array , Arrays

Java所有“存储及随机访问一连串对象”的做法,array是最有效率的一种。

1、

效率高,但容量固定且无法动态改变。

array还有一个缺点是,无法判断其中实际存有多少元素,length只是告诉我们array的容量。

2、Java中有一个Arrays类,专门用来操作array。

arrays中拥有一组static函数,

equals():比较两个array是否相等。array拥有相同元素个数,且所有对应元素两两相等。

fill():将值填入array中。

sort():用来对array进行排序。

binarySearch():在排好序的array中寻找元素。

System.arraycopy():array的复制。

二、Collection , Map

若撰写程序时不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使用容器类库,array不适用。

1、Collection 和 Map 的区别

容器内每个为之所存储的元素个数不同。

Collection类型者,每个位置只有一个元素。

Map类型者,持有 key-value pair,像个小型数据库。

2、各自旗下的子类关系

Collection

--List:将以特定次序存储元素。所以取出来的顺序可能和放入顺序不同。

--ArrayList / LinkedList / Vector

--Set :

不能含有重复的元素

--HashSet / TreeSet

Map

--HashMap

--HashTable

--TreeMap

3、其他特征

* List,Set,Map将持有对象一律视为Object型别。

*

Collection、List、Set、Map都是接口,不能实例化。

继承自它们的 ArrayList, Vector, HashTable, HashMap是具象class,这些才可被实例化。

*

vector容器确切知道它所持有的对象隶属什么型别。vector不进行边界检查。

三、Collections

Collections是针对集合类的一个帮助类。提供了一系列静态方法实现对各种集合的搜索、排序、线程完全化等操作。

相当于对Array进行类似操作的类——Arrays。

如,Collections.max(Collection coll);

取coll中最大的元素。

Collections.sort(List list); 对list中元素排序

四、如何选择?

1、容器类和Array的区别、择取

*

容器类仅能持有对象引用(指向对象的指针),而不是将对象信息copy一份至数列某位置�

相关文档:

编写一个简单的文本编辑器,要求:具有打开、保存、新建,粘贴、复制等功能;具有一个工具条。编写一个类似 Windows 记事本的简单程序,该程序能够创建新文件、读取已经存在的文件、查看和修改文本以及保存为文本文件。

暂时还不会做,努力中。。。。。。。。 ......

Set和数学中的集合是同一个概念,就是没有重复元素的集合。

这篇文章主要论述了Set是如何实现"没有重复元素"(no duplicate elements)的,以及阐述了什么是“重复”(duplicate),是相同的地址空间?是equals的返回值为true?是compareTo的返回值为0 ?还是有相同的hashCode?本文还给出了在什么情况下使用什� ......

package barchartdemo1;

import java.awt.Font;

import java.io.FileOutputStream;

import java.io.IOException;

import org.jfree.chart.ChartFactory;

import org.jfree.chart.ChartUtilities;

import org.jfree.chart.JFreeChart;

import org.jfree.chart.axis.CategoryAxis;

import org.jfree.chart.axis.Numbe ......

BigDecimal类

双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。表5.7中列出了BigDecimal类的主要构造器和方法。

表5.7 BigDecimal类的主要构造器和方法

构造器描述

BigDecimal(in ......

最简单的服务器接受单用户请求的socket编程模型,代码写得不好,只是用来阐明意思

client side

import java.net.*;

import java.util.*;

import java.io.*;

public class Client {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

tr ......

java list set map的区别_Java集合类List/Set/Map的区别和联系相关推荐

  1. java map存储list集合_Java集合类(List、map、list集合)

    1.1集合类的概述 Java.util包中提供了一些集合类,这些集合类右被称为容器. 提到容器不难想到数组,集合类与数组不同之处是: 数组的长度是固定长度,集合的长度是可变的: 数组是用来存放基本数据 ...

  2. Java将map置空_Java实现过滤掉map集合中key或value为空的值示例

    Java实现过滤掉map集合中key或value为空的值示例 发布时间:2020-09-16 23:26:14 来源:脚本之家 阅读:147 作者:May的博客 本文实例讲述了Java实现过滤掉map ...

  3. java map 为空_java中如何判断map是否为空

    java中判断map是否为空的方法是:可以利用isEmpty()函数来判断.isEmpty()函数是java中用于判断某种容器是否有元素的系统库函数,例如用来判断ArrayList.HashSet.H ...

  4. java中集群和分布式的区别_java 分布式与集群的区别和联系

    java 分布式与集群的区别和联系 一.先说区别: 一句话:分布式是并联工作的,集群是串联工作的. 1.分布式是指将不同的业务分布在不同的地方. 而集群指的是将几台服务器集中在一起,实现同一业务. 分 ...

  5. java instanceof 区别_Java 中 instanceof 和 isInstance 的区别

    今天百度了一下 instanceof 和 isInstance() 的区别,结果不理想.大多数人先贴一段测试代码,然后分别解释它们的用法,根本不是解释它们之间的区别. 本来想快点搜一下看个结论,不料还 ...

  6. java抽象和接口的理解_Java接口实现与抽象类的区别理解 | 彬菌

    版权声明:转载原创文章请以超链接形式请注明原文章出处,尊重作者,尊重原创! 恰饭广告 接口:接口是抽象方法的集合.接口通常以interface来声明. 接口注意事项: 1.严格来说,接口是用来实现(i ...

  7. java 反射 new区别_JAVA的newInstance()和new的区别(JAVA反射机制,通过类名来获取该类的实例化对象)...

    1.在初始化一个类,生成一个实例的时候:newInstance() 和 new 有什么区别? 用newInstance与用new是区别的,区别在于创建对象的方式不一样,前者是使用类加载机制,那么为什么 ...

  8. java中堆与栈的区别_java中堆和栈的区别分析

    堆和栈是Java数据结构里非常重要的概念,本文较为详细的分析了二者之间的区别.供大家参考.具体如下: Java的堆是一个运行时数据区,类的(对象从中分配空间.这些对象通过new.newarray.an ...

  9. Java中string与String区别_JAVA中String与StringBuffer的区别

    JAVA中String与StringBuffer的区别 2009-12-3文字大小:大中小 在java中有3个类来负责字符的操作. 1.Character 是执行 单个字符操作的, 2.String ...

最新文章

  1. 桂林哪些职校可以学计算机,桂林市有几个中等职业学校
  2. 区域填充与击中击不中变换
  3. 第一个项目GeoQuiz开发总结
  4. 怎么获取web项目的webroot根目录下面的文件夹的路径?
  5. QT+FFMPEG实现视频播放
  6. Java 8发布了! — Lambdas教程
  7. 云服务器如何链接本地打印机_利用FileZilla搭建云服务器FTP服务端和本地客户端...
  8. 区块链需要学习哪些东西_区块链主要学习哪些知识?
  9. BZOJ1096-[ZJOI2007]仓库建设
  10. metasploit联动beef启动
  11. 如何从Java类创建JAR
  12. oracle:数据库对象:创建用户和赋予权限,数据表,序列,事务,约束
  13. 关于图神经网络的相关学习资源的分享——网站 博客(一)
  14. MongoDB 概述、下载安装、配置 、启动与连接
  15. 封玩家IP和机器码以及解开被封的教程
  16. PGSQL创建管理员账号
  17. 要写码,又要做年终总结PPT?高效神器保住你的发际线
  18. linux if 判断文件,shell中的逻辑判断,if 判断文件、目录属性,if判断的一些特殊用法...
  19. java web 上传图片漏洞_Web安全:文件上传漏洞
  20. 混凝土墙开洞_请教各位大神,混凝土墙体开洞通常有几种方法

热门文章

  1. 已阻止网站自动通话怎么回事_如何实现百度快速收录网站与快速排名
  2. 20211126 为什么转动惯量矩阵是正定的?
  3. Django 执行 makemigrations 显示 No changes detected in app
  4. 张季跃201771010139《面向对象程序设计(java)》第一周学习总结(改)
  5. Excel 常见公式
  6. 《剑指offer》第四题(二维数组中的查找)
  7. STL之nth_element__寻找第n大的元素
  8. 深入出不来nodejs源码-V8引擎初探
  9. inteliji 优化
  10. Vue学习之路---No.7(分享心得,欢迎批评指正)