JAVA/Set、List、Map的区别
来源:互联网 发布:密歇根大学 知乎 编辑:程序博客网 时间:2024/05/20 12:23
数组:数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型,引用类型)
JAVA集合:JAVA集合可以存储和操作数目不固定的一组数据。所有的JAVA集合都位于java.util包中。JAVA集合只能存放引用类型的数据,不能存放基本数据类型。
JAVA集合主要分为三种类型:
Set(集)
List(列表)
Map(映射)
Collection(接口)
Collection是最基本的集合接口,声明了适用于JAVA集合(只包括Set和List)的通用方法。
Set和List都继承了Collection,Map没有继承。
Collection接口的方法:
boolean add(object o) :向集合加入一个对象的引用
void clear() :删除集合中所有的对象,即不再持有这些对象的引用
boolean isEmpty() :判断集合是否为空
boolean contains(object o) :判断集合中是否持有特定对象的引用
Iterator iterator() :返回一个Iterator对象,可以用来遍历集合中的元素
boolean remove(object o) :从集合中删除一个对象的引用
int size() :返回集合中元素的数目
Object[] toArray() :返回一个数组,该数组中包括集合中的所有元素
关于:Iterator()和toArray()方法都用于集合的所有的元素,Iterator()返回一个Iterator对象,
toArray()返回一个包括集合所有元素的数组。
Iterator接口声明了如下方法:
hashNext():判断集合中元素是否遍历完毕,如果没有就返回true。(重要)
next():返回下一个元素(重要)
remove():从集合中删除上一个有next()方法返回的元素。
Set(集合):
Set是最简单的一种集合。集合中的对象不按特定的方式排序,并且没有重复对象。
Set接口主要实现了俩个实现类:
HashSet:HashSet类按照哈希算法来存取集合中的对象,存取速度比较快。
TreeSet :TreeSet类实现了sortedSet接口,能够对集合中的对象进行排序。
Set 的用法:
存放的是对象的引用,没有重复对象。
Set set = new HashSet();
String s1 = new String(“hello”);
String s2 = s1;
String s3 = new String(“world”);
set.add(s1);
set.add(s2);
set.add(s3);
System.out.println(set.size());//打印集合中对象的数目为2。
List(列表):
List的特征是其元素以线性方式存储,集合中可以存放重复对象。
List接口主要实现类包括:
ArrayList():代表长度可以改变数组。可以对元素进行随机的访问。向ArrayList()中插入与删除元素的速度慢。
LinkedList():在实现中采用链表数据结构。插入和删除速度快,访问速度慢。
- java中set map list的区别
- java中set map list的区别
- java中set map list的区别
- java 中的Set,List,Map的区别
- Java中的Set,List,Map的区别
- Java中的Set,List,Map的区别
- Java中的Set,List,Map的区别
- Java中的Set,List,Map的区别
- Java中的Set,List,Map的区别
- Java中的Set,List,Map的区别
- java中的list set map的区别
- Java中的Set,List,Map的区别
- JAVA/Set、List、Map的区别
- JAVA--Set,List,Map的区别
- Java中的Set,List,Map的区别
- Java中的Set,List,Map的区别
- Java中的Set,List,Map的区别
- java中set map list的区别
- 图的邻接矩阵表示(DFS,BFS)
- UTL_FILE 包
- 数字签名和数字证书
- 设置Linux环境变量的三种方法
- 折腾二维数组【四】
- JAVA/Set、List、Map的区别
- 有感腾讯入股搜狗,掌握入口才是王道
- ST的插值算法
- wireshark在xp下监听本机进程间通讯设置
- Immediately-Invoked Function Expression (IIFE)
- GWT第一个示例HelloWorld
- Real-Time Compressive Tracking(CT) 札记
- 小团队开发管理工具:gitlab+redmine+testlink+jenkins
- 用Scala语言轻松开发多线程、分布式以及集群式程序