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;
    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值