一文带你了解Java中数值与集合的区别

介绍

一文带你了解Java中数值与集合的区别?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<强>数组数组和集合的区别:

(1)数值是大小固定的,同一数组只能存放一样的数据。

(2) Java集合可以存放不固定的一组数据

(3)若程序事不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使用容器类库,数组不适用

<强>数组转换为集合:

arrays . aslist(数组)

<强>示例:

int [] arr={1、3、4、6 6};arrays . aslist (arr);for (int i=0; i

<强>集合转换为数组:

集合.toArray ();

<强>示例:

列表列表=new ArrayList ();list.add (“a");list.add (“b");list.toArray ();System.out.println (list.toString ());

<强>一、集合的体系结构:

列表,设置,地图是这个集合体系中最主要的三个接口。列表和设置继承自收集接口。地图也属于集合系统,但和收集接口不同。

设置不允许元素重复.HashSet和TreeSet是两个主要的实现类这里只能通过游标来取的值,并且值是不能重复的。

列表有序且允许元素重复.ArrayList, LinkedList和向量是三个主要的实现类。ArrayList是线程不安全的,向量是线程安全的,这两个类底层都是由数组实现的LinkedList是线程不安全的,底层是由链表实现的

地图是键值对集合。其关键列中就是一个集合,关键不能重复,但价值是可以重复,HashMap TreeMap和哈希表是地图的三个主要的实现类Hashtable。是线程安全的,不能存储null值HashMap不是线程安全的,可以存储null值

<强>二、列表和ArrayList的区别

<强> 1.列表是接口,列表特性就是有序,会确保以一定的顺序保存元素。

ArrayList是它的实现类,是一个用数组实现的列表。

地图是接口,图特性就是根据一个对象查找对象。

HashMap是它的实现类,HashMap用哈希表实现的地图,就是利用对象的hashcode (hashcode()是对象的方法)进行快速散列查找。(关于散列查找,可以参看& lt; & lt;数据结构祝辞祝辞)

<强> 2。一般情况下,如果没有必要,推荐代码只同列表,地图接口打交道。

比如:列表列表=new ArrayList ();

这样做的原因是列表就相当于是一个泛型的实现,如果想改变列表的类型,只需要:

列表列表=new LinkedList ();//LinkedList也是列表的实现类,也是ArrayList的兄弟类

这样,就不需要修改其它代码,这就是接口编程的优雅之处。

另外的例子就是,在类的方法中,如下声明:

私人空间doMyAction列表(列表){}

这样这个方法能处理所有实现了列表接口的类,一定程度上实现了泛型函数。

<强> 3。如果开发的时候觉得ArrayList, HashMap的性能不能满足你的需要,可以通过实现列表,地图(或收集者)来定制你的自定义类。

一文带你了解Java中数值与集合的区别