JAVA随笔 05

集合

 Collection 集合常用方法

方法名说明
boolean add(E e)添加元素
boolean remove(Object o)从集合中移出指定的元素
void clear()清空集合中的元素
boolean contains(Object o)判断集合中是否存在指定的元素
boolean isEmpty()判断集合是否为空
int size();集合的长度, 也就是集合中元素的个数

List 集合概述和特点

概述: 有序集合(也称为序列), 用户可以精确控制列表中每个元素的插入位置。 用户可以通过整数索引访问元素, 并搜索列表中的元素;  与set不同, 列表通常允许重复的元素

特点: (有序)存储和取出的元素顺序一致; (可重复)存储的元素可以重复.

方法名说明
void add(int index, E element)在此集合中的指定位置插入指定的元素
E remove(int index)删除指定索引处的元素, 返回被删除的元素
E set(int index, E element)修改指定索引处的元素, 返回被修改的元素
E get(int index)返回指定索引处的元素

List的三种循环方式

List<String> list = new ArrayList<String>();

list.add("hello");
list.add("world");
list.add("java");

// Iterator 迭代器
Iterator<String> it = list.iterator();
while(it.hasNext()){
    String s = it.next();
    System.out.println(s)
}

// for 循环
for (int i=0; i<list.size(); i++){
    String s = list.get(i);
    System.out.println(s);
}
        

// 增强for循环, 底层是Iterator的实现
for (String s: list){
    System.out.println(s);
}

数据结构

 

LinkedList集合的特有功能

方法名说明
public void addFirst(E e)在该列表开头插入指定的元素
public void addLast(E e)将指定的元素追加到此列表的末尾
public E getFirst()返回此列表的第一个元素
public E getLast()返回此列表的最后一个元素
public E removeFirst()从此列表中删除并返回第一个元素
public E removeLast()从此列表中删除并返回最后一个元素

HashSet 集合概述和特点

  • 底层数据结构是哈希表
  • 对集合的迭代顺序不作任何保证, 也就是说不保证存储和取出的元素顺序一致
  • 没有带索引的方法,所以不能使用普通for循环遍历
  • 由于是Set集合, 所以是不包含重复元素的集合

用TreeSet集合存储自定义对象, 无参构造方法使用的是自然排序对元素进行排序的

自然排序, 就是让元素所属的类实现Comparable接口, 重写compareTo(T o)方法

重写方法时, 一定要注意排序规则必须按照要求的主要条件和次要条件来写

TreeSet<Student> ts = new TreeSet<Student>(new Comparator<Student>() {
    @Override
    public int compare(Student s1, Student s2){
        //比较两个对象中的参数,按照主要条件,次要条件来比较
        //返回int类型。 如果大于0, 则s2大于s1
        return 0;
    }
}

参与评论 您还未登录,请先 登录 后发表或查看评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:技术工厂 设计师:CSDN官方博客 返回首页

打赏作者

咕咕咕的布谷鸟

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值