java基础之集合

原创 2015年07月10日 11:18:23

集合

1、特点:存储对象(不同类型)、长度可变
2、集合框架Collection(I)
2.1、List(I):有序、元素可重复、有索引
有索引就可以随意的插入、删除修改元素
2.1.1、ArrayList:底层数组结构,查询快,增删满,不同步
2.1.2、LinkedList:底层链表结构,增删修改快,查询慢,不同步
2.13、Vector:底层是数组结构,线程同步,被arraylist取代
注意:它对于判断是否存在相同元素,以及三处等操作,都是依据元素的hashCode和quals方法
而arraylist是依据equals方法

2.2、Set:无序的,无索引,元素不可重复
2.2.1、HashSet:底层是哈希表、线程不同步、无序、高效
保证唯一性:通过元素的hashcode和equals方法,若hashCode值相同,则会判断equals,若hashcode不同则不掉用equals
2.2.2、TreeSet:底层是二叉树,可对元素进行排序,默认是自然顺序
保证唯一性:comparable接口和compareTo方法
排序方法:
1、自然排序:添加的对象实现comparable接口,覆盖compareto方法
2、比较器:由于对象自身不具有比较性。需要实现comparator接口 自定义compare方法

2.3、map集合
2.3.1、hashtable:底层数据结构是哈希表,不可存入null键和null值。同步
2.3.2、hashmap:底层数据结构哈希表,允许使用null键值,不同步,效率高
2.3.3、treemap:底层数据结构二叉树,不同步,可排序,set底层就是map集合

Collection:Java.util下的接口,是各种单列集合的父接口,比如Llist和set。而set和List底层还有map

collections:Java.utils下的工具类,实现堆积和的查找、排序、替换、线程安全化等

Arrays:用于操作数组对象的工具类

附图:
这里写图片描述

总结:
/**
* 4、 Collection和Collections有什么关系?List和Set有什么异同点?Map有哪些常用类,各有什么特点?
*
* @author nn
*解:
* Collections是java.utils下的类,是针对集合类的一个工具类,提供了一系列静态方法,实现堆集合的查找、
*排序、替换、线程安全化(将非同步的集合转换成同步的)等操作。
* Collection是java.utils下的接口,他是各种集合结构的父接口,继承于他的接口主要有Set和List,提供了
*关于集合的一些操作,例如:插入、删除、判断一个元素是否其成员、遍历等。
*
*List: 有序 元素可重复 有索引
* ArrayList 数组实现 查询快 增删慢 不同步 唯一性:equals
* LinkedList 链表实现 查询慢 增删快 不同步
* Vector 数组实现 线程同步 唯一性:hashcode equals
*
*Set:存入元素无序(除了LinkedHashSet),不可以存储重复元素 无索引。必须保证元素的唯一性。
* HashSet 底层哈希表实现(实际map实现) 唯一性:hashcode equals hashcode返回false 就不执行equals
* TreeSet 底层二叉树实现 唯一性:1、实现comparable接口重写compareto方法 2、实现comparator接口 重写compare方法
*
*Map集合:
* Hashtable:底层是哈希表数据结构,是线程同步的。不可以存储null键 null值。
* HashMap: 底层是哈希数据表结构,是线程不同步的。可以存储null键和值。替代了Hashtable
* TreeMap: 底层是二叉树结构,可以对map集合中的键进行指定顺序的排序。
*/

相关文章推荐

传智播客(集合)java基础

  • 2013年04月01日 20:03
  • 208KB
  • 下载

java基础,集合,面向对象

  • 2011年05月03日 16:30
  • 735KB
  • 下载

java基础之集合框架——Collections-同步和非同步

首先研究下Collection下的同步和非同步,例如ArrayList     List 接口的大小可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现List 接...

java编程基础笔记(集合)

  • 2014年12月12日 11:26
  • 744KB
  • 下载

java基础集合类之set

Set也是Collection的一种扩展,而与List不同的时,在Set中的对象元素不能重复。Set的常用具体实现有HashSet和TreeSet类。一、HashSet和TreeSet类的区别Hash...

java基础集合(核心内容)

  • 2013年01月20日 17:42
  • 322KB
  • 下载

Java基础[06-集合]

  • 2012年10月06日 09:51
  • 97KB
  • 下载

黑马程序员:Java基础总结----集合与IO的结合[Properties类]

黑马程序员:Java基础总结 集合与IO的结合[Properties类]  ASP.Net+Android+IO开发、.Net培训、期待与您交流! ...

JAVA基础集合代码

  • 2017年07月31日 07:53
  • 21KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java基础之集合
举报原因:
原因补充:

(最多只允许输入30个字)