集合框架
更好的自己520
这个作者很懒,什么都没留下…
展开
-
Comparable与Comparator的区别
简介 Comparable和Comparator都是用来实现集合中元素的比较、排序的。 Comparable是在集合内部定义的方法实现的排序,位于java.lang下。 Comparator是在集合外部实现的排序,位于java.util下。Comparable是一个对象本身就已经支持自比较所需要实现的接口,如String、Integer自己就实现了Comparable接口,可完成比原创 2017-09-02 17:48:36 · 212 阅读 · 0 评论 -
Vector和ArrayList的区别
区别: ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要讲已经有数组的数据复制到新的存储空间中。当从ArrayList的中间位置插入或者删除元素时,需要对数组进行复制、移动、代价比较高。因此,它适合随机查找和遍历,不适合插入和删除。 Vector与ArrayLis原创 2018-04-10 15:05:16 · 252 阅读 · 0 评论 -
Java中ArrayList和LinkedList区别
ArrayList和LinkedList的大致区别如下: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。转载 2018-04-10 14:50:42 · 173 阅读 · 0 评论 -
Iterator接口
所有实现Collection接口的容器类都有一个iterator方法,用于返回一个实现Iterator接口的对象。Iterator对象成为迭代器,用以实现对容器内元素的遍历操作。Iterator接口也是Java集合框架的成员,但它与Collection系列、Map系列的集合不一样:Collection系列集合、Map系列集合主要用于盛装其他对象,而Iterator则主要用于遍历(即迭代访问)Coll原创 2017-10-04 16:49:20 · 308 阅读 · 0 评论 -
List实现类
List是有序的Collection,使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引(元素在List中的位置,类似于数组下标)来访问List中的元素,这类似于Java的数组。和下面要提到的Set不同,List允许有相同的元素。除了具有Collection接口必备的iterator()方法外,List还提供一个listIterator()方法,返回一个 ListIterator接口,和标原创 2017-10-04 16:05:25 · 372 阅读 · 0 评论 -
Set集合及其实现类
Set接口有2个子类,HashSet类和TreeSet类,要使用Set集合,通常情况下需要声明为Set类型,然后通过Set接口类来实例化,Set接口的实现类常用HashSet和TreeSet类 Set set=new HashSet(); Set set=new TreeSet();HashSet类: Java.util.HashSet类实现Java.util.Set接口。 它不允许出现重复原创 2017-10-03 10:03:12 · 4544 阅读 · 0 评论 -
Map集合
注意: 看到array,就要想到角标。看到link,就要想到first,last。看到hash,就要想到hashCode,equals,看到tree,就要想到两个接口(Comparable和Comparator)Map和Collection在集合框架中属并列存在。 1:Map存储的是键值对 2:Map存储元素使用put方法,Collection使用add方法 3:Map集合中没有直接取出元素原创 2017-10-03 14:35:23 · 240 阅读 · 0 评论 -
Map的实现类
Map没有继承Collection接口,Map提供key到value的映射,你可以通过键查找值,一个Map不能包含相同的key,每个key只能映射一个value。Map接口提供3种集合的视图,Map的内容可以被当作一组key集合,一组value集合,或者一组key-value映射。 方法put(Object key,Object value)添加一个值(想要得到东西)和与”值”相关联的”键”key原创 2017-10-04 10:08:35 · 406 阅读 · 0 评论 -
Map集合遍历
Map的遍历大体有3种: 1、遍历Map.entrySet():它的每一个元素都是Map.Entry对象,这个对象中,放着的就是Map中的某一对key-value;2、遍历Map.keySet():它是Map中key值的集合,我们可以通过遍历这个集合来读取Map中的元素;3、遍历Map.values():它是Map中value的集合,我们可以直接通过这个集合遍历Map中的值,却不能读取key。/*原创 2017-10-03 14:42:53 · 375 阅读 · 0 评论 -
Set集合排序
TreeSet使用元素的自然顺序对元素进行排序,或者根据创建set时提供的Comparator进行排序,具体取决于使用的构造方法。通俗一点来说,就是可以按照排序后的列表显示,也可以按照指定的规则排序。Set<String> set = new TreeSet<String>(); set.add("f"); set.add("a");原创 2017-10-03 11:08:08 · 32415 阅读 · 0 评论 -
List集合排序
集合List存放的数据,默认是按照放入时的顺序存放的,比如依次放入ABCD,则取得时候也是ABCD的顺序,实际场景中,我们需要安装自定义的规则对List元素进行排序。Collections对List集合中的数据进行排序,需要用到工具类Collections,其中的sort()方法public static void main(String[] args) { List<Integer>原创 2017-10-02 16:09:56 · 746 阅读 · 0 评论 -
List、Set和Map的遍历方法
List的遍历方法 List<String> list = new ArrayList<String>( Arrays.asList("tom","cat","Jane","jerry")); //方法1 集合类的通用遍历方式, 从很早的版本就有, 用迭代器迭代 Iterator it1 = list.iterator(); w转载 2017-10-02 15:42:01 · 215 阅读 · 0 评论 -
去掉List集合重复值的四种方法
一种是用遍历list集合判断后赋给另一个list集合,一种是用赋给set集合再返回给list集合。 但是赋给set集合后,由于set集合是无序的,原先的顺序就打乱了。所以我又想着能不能用set的特性进行去重又不打乱顺序呢?//set集合去重,不打乱顺序 public static void main(String[] args){ List<String> list =转载 2017-10-02 15:35:20 · 1233 阅读 · 0 评论 -
集合框架之List
常用方法: (1)、添加 void add(int Index , E element):在list的指定位置插入元素 void addAll(int index , Collection e):将指定collection中的所有元素插入到列表中的指定位置(2)、删除 E remove(int Index):删除指定位置的元素,并返回该元素;(3)、修改 E set(int inde原创 2017-10-02 15:17:56 · 146 阅读 · 0 评论 -
集合框架之Collection
Collection是最基本的集合接口,一个Collection代表一组Object。一些 Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的“子接口”如List和Set。 所以实现Collection接口的类都必须提供两个标准的构造函数: 无参的构造函数用于创建原创 2017-10-02 12:54:04 · 168 阅读 · 0 评论 -
集合框架总结
Collection接口 List接口及实现类 Set接口及实现类 Map接口及实现类 Comparable、Iterator以及Enumeration接口 Collections类和Arrays类java集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。java集合类分为:set、list、map。其中set代表无序、不可重复的集合。list代表有序、可重原创 2017-10-02 11:54:00 · 322 阅读 · 0 评论 -
TreeSet和HashSet的区别
Hash(哈希)属于一种算法,这种算法的核心意义指的是找空保存算法,所以只要一看见hash第一反应就是说没有顺序的保存。 Set<String> all = new HashSet<String>() ; all.add("Hello") ; all.add("Hello") ; // 内容重复了 all.add("World") ;原创 2018-04-10 16:38:41 · 2886 阅读 · 0 评论