Java--集合基础

作者: Gambol_r | 来源:发表于2017-09-05 14:28 被阅读0次

Java基础部分

1.集合

ArrayList和LinkedList的区别:
  1)ArrayList是基于动态数组的数据结构,LinkerList是基于链表的数据结构;
  2)随机访问的get和set。ArrayList优于LinkedList,LinkedList操作需要移动指针;
  3)新增,删除add和remove。LinkedList优于ArrayList,ArrayList需要移动数据,主要是生成一个新的数组,设计到数据的拷贝。
集合的区别
1)Linked 改快读慢
2)Array 读快改慢
3)Hash 两者之间
4)Collection是集合接口
|————Set子接口:无序,不允许重复。
|————List子接口:有序,可以有重复元素。
Set和List对比:
Set:检索元素效率低下,删除和插入效率高,插入和删除不会引起元素位置改变。
List:和数组类似,List可以动态增长,查找元素效率高,插入删除元素效率低,因为会引起其他元素位置改变。
Set和List具体子类:
Set
 |————HashSet:以哈希表的形式存放元素,插入删除速度很快。
List
 |————ArrayList:动态数组    |————LinkedList:链表、队列、堆栈。
Array和java.util.Vector
Vector是一种老的动态数组,是线程同步的,效率很低,一般不赞成使用。(synchronized 是 java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。)
HashSet

HashSet不允许集合中有重复值,在将对象存储在HashSet前,要先确保对象重写equals()和hashCode()方法,这样才能比较对象的值是否相等,以确保set中没有储存相等的对象。如果没有重写这两个方法,会使用这个方法的默认实现。
public boolean add(Object o)方法用来在Set中添加元素,当元素值重复时则会立即返回false,如果成功添加的话会返回true。

HashMap

HashMap对键值对进行映射。Map中不允许重复的键。Map接口有两个基本的实现,HashMap和TreeMap。TreeMap保存了对象的排列次序,而HashMap则不能。HashMap允许键和值为null。HashMap是非synchronized的,但collection框架提供方法能保证HashMap synchronized,这样多个线程同时访问HashMap时,能保证只有一个线程更改Map。
HashMap底层用哈希算法实现,HashSet底层是通过HashMap实现的.

相关文章

  • Java--集合基础

    Java基础部分 1.集合 ArrayList和LinkedList的区别: 集合的区别 HashSet Hash...

  • Java--集合

    集合类主要是负责保存、盛装其他数据和引用类型的对象。根接口是collection和map。主要意义是减少编 ...

  • Java基础

    Java基础 集合基础 集合框架 多线程基础 多线程框架 反射 代理 集合基础 ArrayList LinkedL...

  • JAVA--编程基础

    注释 代码注释是架起程序设计者与程序阅读者之间的通信桥梁,最大限度的提高团队开发合作效率。也是程序代码可维护性的重...

  • java--集合嵌套(List of List)

    什么是集合嵌套 当算法返回值形如:List >链表中嵌套链表时,我们称之为集合嵌套。 如何声明实例化集合对象 要点...

  • Java基础——集合体系Map详解

    Java基础——集合体系Map详解 上文中我们了解了集合体系中的单列集合:Java基础——集合以及Java集合——...

  • 一篇文章,全面解读Android面试知识点

    Java Java基础 Java集合框架 Java集合——ArrayList Java集合——LinkedList...

  • Eclipse 开发基本配置与快捷键

    自动提示Window -->> Preferences -->> Java-->> Editor-->> Cont...

  • 基础集合

    print('') #用于输出到屏幕上,括号内引号中什么内容屏幕上输出什么内容 字符类型s...

  • 集合基础

    1.集合的接口与实现分离  Java集合类库将接口与实现分离。  例如:队列,队列接口指定可以在队列的尾部添加元素...

网友评论

    本文标题:Java--集合基础

    本文链接:https://www.haomeiwen.com/subject/ohwlyttx.html