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基础<十二>--->集合之map

--------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------- Map集合 一、概述: -------...
  • yangxin_540
  • yangxin_540
  • 2013年08月26日 22:25
  • 5031

Java基础——集合(一)——集合体系、Collection集合

一、集合概述          Java是一种面向对象语言,如果我们要针对多个对象进行操作,就必须对多个对象进行存储。而数组长度固定,不能满足变化的要求。所以,java提供了集合。          ...
  • haovip123
  • haovip123
  • 2015年05月02日 00:09
  • 12084

Java基础总结(二)----集合、多线程、io、虚拟机等

Java集合java集合框架的结构List接口List接口通常表示一个列表(数组、队列、链表、栈等),其中的元素可以重复,常用实现类为ArrayList和LinkedList,另外还有不常用的Vect...
  • wgyscsf
  • wgyscsf
  • 2017年04月04日 22:32
  • 1605

传智播客(集合)java基础

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

java基础,集合,面向对象

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

j2se集合课件是java的基础课程章节之一

  • 2009年04月21日 20:02
  • 468KB
  • 下载

JAVA基础集合代码

  • 2017年07月31日 07:53
  • 21KB
  • 下载

java基础集合(核心内容)

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

Java基础[06-集合]

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

java编程基础笔记(集合)

  • 2014年12月12日 11:26
  • 744KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java基础之集合
举报原因:
原因补充:

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