Java里的集合--主要区别

  Collection 集合接口,指的是 java.util.Collection接口,是 Set、List 和 Queue 接口的超类接口。

List:

  List是关注事物索引的列表。

  List中可以有重复元素。

  List中可以有null值。

  List用来存放同一类型的数据,只能一个一个存放,不能存放键值对。

  List是有顺序的存储。

  List主要用到Vector,ArrayList,LinkedList

  Vector:是基于array的List,在array的基础上添加了一些功能,是线程安全的

  ArrayList:是基于array的List,非线程安全的。

  LinkedList:不是基于array的List相当于C++中的链表,它每一个节点都包含两方面的内容:1.节点本身的数据;2.下一个节点的信息。所以当对LinkedList做添加,删除动作的时候就不用像基于Array的List一样,必须进行大量的数据移动。

  因此vector ArrayList适用于查询,Linkedlist适用于添加删除。

set:

  set实现基础是map。

  set存储键值对格式数据。

  set不允许重复。

  set主要用到HashSet,LinkedHashSet,TreeSet。

  HashSet:无顺序。

  LinkedHashSet:HashSet的子类,是一个链表,插入顺序排列。

  TreeSet:自然顺序排列。

Queue:

  Queue用于保存将要执行的任务列表。

  LinkedList 同样实现了Queue接口,可以实现先进先出的队列。

  PriorityQueue 用来创建自然排序的优先级队列。

时间: 2024-08-05 01:35:23

Java里的集合--主要区别的相关文章

老白的JAVA课程17 集合

集合 数组的缺点:长度限制 添加的类型有限制 集合自动变长 随意添加 但是数组的效率高,在游戏里用的比较多 SuperArry是一套的集合框架 两大类 接口 1 Collection  单一值的元素  1.1 list 有序的 放进去的顺序和里面的顺序是一样的 (不是传统的里面有没有顺序的意思)    可重复的    实现类 ArryList 1.2 set  无序的 里面和放进去的不是一样的    只能是不可重复的 2 Map  键值对 键 值  map的键是不能重复的 老白的JAVA课程17

菜鸟日记之 java中的集合框架

java中的集合框架图 如图所示:java中的集合分为两种Collection和Map两种接口 可分为Collection是单列集合和Map的双列集合 Collection单列集合:继承了Iterator接口所以具有了iterator()方法 ,该方法返回一个Iterator<T>,这个接口具有 HasNext (),next(),remove()3个方法可以在实现类里完成实现. hasNext():判断是否有下一个元素 cusor是当前的操作下标 next():读取下一个元素 remove(

Java中的集合(一)

1.Java集合概述 在编程中,常常需要集中存放多个数据.当然我们可以使用数组来保存多个对象.但数组长度不可变化,一旦在初始化时指定了数组长度,则这个数组长度是不可变的,如果需要保存个数变化的数据,数组就显得无能为力了:而且数组无法保存具有映射关系的数据,如成绩表:语文-80,数学-90,这种数据看上去像两个数组,但这两个数组的元素之间有一定的关联关系. 为了保存数量不确定的数据,以及保存具有映射关系的数据,Java提供了集合类.集合类主要负责保存.盛装其他数据,因此集合类也被称为容器类.所有集

Java 里的异常(Exception)详解

作为一位初学者, 本屌也没有能力对异常谈得很深入.   只不过Java里关于Exception的东西实在是很多. 所以这篇文章很长就是了.. 一, 什么是java里的异常 由于java是c\c++ 发展而来的,  首先我们先看看c语言里的错误. 1.1 c语言里的错误 我们实现1个程序的过程包括,  代码编写, 编译代码成为程序,  执行程序. . 其中大部分常见的语法错误都会被编译代码这样部过滤掉.   但是即使通过了编译. 执行程序这一步可能还是会有错误. 原因很多, 例如常见的除数为0,

QVariant(相当于是Java里面的Object,起到一个数据类型“擦除”的作用,可以使用Q_DECLARE_METATYPE进行注册)

=QVariant= [%这个类型相当于是Java里面的Object,它把绝大多数Qt提供的数据类型都封装起来,起到一个数据类型“擦除”的作用.比如我们的 table单元格可以是string,也可以是int,也可以是一个颜色值,那么这么多类型怎么返回呢?于是,Qt提供了这个QVariant类型,你可 以把这很多类型都存放进去,到需要使用的时候使用一系列的to函数取出来即可.比如你把int包装成一个QVariant,使用的时候要用 QVariant::toInt()重新取出来.这里需要注意的是,Q

Java里泛型有什么作用

1 泛型赋予了类型参数式多态的能力 2 泛型的第一个好处是编译时的严格类型检查,提高了程序的安全性和健壮性,这是集合框架最重要的特点. 3 泛型消除了绝大多数的类型转换.如果没有泛型,当你使用集合框架时,你不得不进行类型转换. 4 泛型简化了代码,应用泛型的程序提高程序的可读性,更利于团队的合作开发. Java里泛型有什么作用

java里Iterator的原理

Iterator:迭代器. 其实就是集合取出元素的方式,每个容器的数据结构不一样,所以他们存取的方式不一样,具体事项方法不一样,具体实现方法不一样,每个集合都具备取出方式,对于取出这个动作不足以用一个函数来描述,需要用多个功能来体现,一般情况将多个功能封装到一个对象里面去,所以每个容器都有一个取出的对象,而且,因为数据结构不同,每个取出对象中实现的方式不一样,取出对象用一个类来描述,定义在了集合元素内部,直接操作元素,叫内部类,这个类完成取出元素的定义 这些内部类都符合一个规则,该规则是Iter

12.JAVA编程思想——集合的类型

12.JAVA编程思想--集合的类型 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/51100510 标准Java 1.0 和1.1 库配套提供了非常少的一系列集合类.但对于自己的大多数编程要求,它们基本上都能胜任.Java 1.2 提供的是一套重新设计过的大型集合库. 1      Vector Vector 的用法很简单,大多数时候只需用addElement()插入对象,用elementAt()一次提取一个对象,并用el

JAVA 面向对象和集合知识点总结

转载请注明出处:http://blog.csdn.net/zhoubin1992/article/details/46481759 在Android编程或者面试中经常会遇到JAVA 面向对象和集合的知识点.自己结合实际的编程以及阅读网上资料总结一下. java面向对象 ==和equal()的区别 基本数据类型. byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比较的是他们的值. 复合数据类型(类) 当他们用(==)进