集合的由来

集合的由来

集合的由来

文章插图
集合论的基本理论创立于19世纪,关于集合的最简单的说法则是在朴素集合论(最原始的集合论)中的定义,即集合是“确定的一堆东西”,集合里的“东西”则称为元素 。现代的集合一般被定义为:由一个或多个确定的元素所构成的整体 。
java中集合的概念
在你的程序中 new 了一个集合 Collention c , 对应的继承类为 HashSet,其实就是放到一个HashSet类型的对象中了 。

在使用Java的时候,我们都会遇到使用集合(Collection)的时候,但是Java API提供了多种集合的实现 , 我在使用和面试的时候频频遇到这样的“抉择”。:)(主要还是面试的时候)久而久之,也就有了一点点的心得体会 , 写出来以供大家讨论。
总的说来,Java API中所用的集合类,都是实现了Collection接口 , 他的一个类继承结构如下:
Collection<--List<--Vector
Collection<--List<--ArrayList
Collection<--List<--LinkedList
Collection<--Set<--HashSet
Collection<--Set<--HashSet<--LinkedHashSet
Collection<--Set<--SortedSet<--TreeSet
Vector : 基于Array的List,其实就是封装了Array所不具备的一些功能方便我们使用,它不可能走入Array的限制 。性能也就不可能超越Array 。所以,在可能的情况下,我们要多运用Array 。另外很重要的一点就是Vector“synchronized”的,这个也是Vector和ArrayList的唯一的区别 。ArrayList:同Vector一样是一个基于Array上的链表,但是不同的是ArrayList不是同步的 。所以在性能上要比Vector优越一些 , 但是当运行到多线程环境中时,可需要自己在管理线程的同步问题 。LinkedList:LinkedList不同于前面两种List,它不是基于Array的 , 所以不受Array性能的限制 。它每一个节点(Node)都包含两方面的内容:1.节点本身的数据(data);2.下一个节点的信息(nextNode) 。所以当对LinkedList做添加,删除动作的时候就不用像基于Array的List一样,必须进行大量的数据移动 。只要更改nextNode的相关信息就可以实现了 。这就是LinkedList的优势 。
java集合有哪些类型
集合类型主要有3种:set(集)、list(列表)和map(映射) 。

1、List(有序、可重复)

List里存放的对象是有序的 , 同时也是可以重复的,List关注的是索引 , 拥有一系列和索引相关的方法,查询速度快 。因为往list集合里插入或删除数据时,会伴随着后面数据的移动,所有插入删除数据速度慢 。

2、Set(无序、不能重复)

Set里存放的对象是无序,不能重复的,集合中的对象不按特定的方式排序 , 只是简单地把对象加入集合中 。

3、Map(键值对、键唯一、值不唯一)

Map集合中存储的是键值对,键不能重复,值可以重复 。根据键得到值,对map集合遍历时先得到键的set集合,对set集合进行遍历,得到相应的值 。


集合的由来

文章插图

扩展资料:

JAVA集合类型四种常见输出方式:

1、Iterator:迭代输出,是使用最多的输出方式 。

2、ListIterator:是Iterator的子接口,专门用于输出List中的内容 。

3、foreach输出:JDK1.5之后提供的新功能,可以输出数组或集合 。

4、for循环 。

代码示例如下:

for的形式:for(int i=0;i<arr.size();i++){...}

foreach的形式: for(int i:arr){...}

iterator的形式:

Iterator it = arr.iterator();

while(it.hasNext()){ object o =it.next(); ...}


【集合的由来】

    推荐阅读