集合

1、Collection

Iterator迭代器

iterator的方法:
hashNext():判断集合中元素是否遍历完毕,如果没有,就返回true。
next():则是返回下一个元素,这样对于需要遍历的地方,就不需要知道元素的个数了。
Collection和Collections的区别

  • Collection 是一个集合接口(集合类的一个顶级接口),它是Set、List等容器的父接口。
  • Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。
  1. 排序(sort)
import java.util.*;
public class HashMapTest {
    public static void main(String[] args) {
        List <Integer> list=new LinkedList<>();
        list.add(8);
        list.add(2);
        list.add(6);
        list.add(4);
        Collections.sort(list);
        for(Integer l:list){
            System.out.print(l+"\t");
        }
    }
}
输出:2 4 6 8
  1. 混排(shuffle)
import java.util.*;
public class HashMapTest {
    public static void main(String[] args) {
        List <Integer> list=new LinkedList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        Collections.shuffle(list);
        for(Integer l:list){
            System.out.print(l+"\t");
        }
    }
}
输出:1	4	3	2
  1. 反转(reverse)
import java.util.*;
public class HashMapTest {
    public static void main(String[] args) {
        List <Integer> list=new LinkedList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        Collections.reverse(list);
        for(Integer l:list){
            System.out.print(l+"\t");
        }
    }
}
输出:4 3 2 1
  1. swap(List list, int i, int j)
    将指定列表中的两个索引进行位置互换
public class HashMapTest {
    public static void main(String[] args) {
        List <Integer> list=new LinkedList<>();
        list.add(8);
        list.add(2);
        list.add(6);
        list.add(4);
        Collections.swap(list,2,1);
        for(Integer l:list){
            System.out.print(l+"\t");
        }
    }
}
输出: 8 6 2 4

List

ArrayList

LinkedList

  • ArrayList的实现是基于数组,LinkedList的实现是基于双向链表。
  • LinkedList比ArrayList更占内存。因为LinkedList的节点除了存储数据,还存储了两个引用,一个指向前一个元素,一个指向后一个元素。
  • 在ArrayList集合中添加或者删除一个元素时,当前的列表所所有的元素都会被移动。

在这里插入图片描述

  • 对于随机访问,ArrayList优于LinkedList。对于访问,ArrayList优于LinkedList,因为arraylist可以随机定位,但linklist需要移动指针一步一步的移动到节点处。
    在这里插入图片描述
    在这里插入图片描述

Set

HashSet

TreeSet

Queue

2、Map

在这里插入图片描述

HashMap

TreeMap

  • HashMap是通过hashcode()对其内容进行快速查找的;HashMap中的元素是没有顺序的;

  • TreeMap中所有的元素都是有某一固定顺序的,如果需要得到一个有序的结果,就应该使用TreeMap;

  • 对于插入,删除,查找映射中的元素,HashMap时最好的选择。如果要遍历一组有序的键,TreeMap是最好的选择。
    在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值