List常见方法用法总结

Collection 接口虽然是集合中最大的接口,但是如果直接使用Collection进行操作,表意并不明确,因此现在Collection接口现在已经不提倡使用,在这总结一下List子接口下的ArrayList类常见用法。

先在此罗列一些List接口中常见常用的方法:

在这里插入图片描述
在这些方法中get()方法是Collection接口中没有出现的方法,因此使用get()方法可以很方便的遍历List集合中的每一个元素,这是Collection接口不具备的,遍历Collection集合中的元素则需要使用迭代器。

方法如何简单使用,观察例子:

package com.qty6.demo;

import java.util.ArrayList;
import java.util.List;

/*
 1. @author F3ver1
 2. @date 2018/10/30 9:20
 */
public class Demo {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("红颜弹指老");
        list.add("刹那芳华");
        list.add("与其天涯思苦");
        list.add("恋恋不舍");
        list.add("莫若相忘于江湖");
        list.add("莫若相忘于江湖");
        //打印该集合
        System.out.println(list);
        System.out.println("-------------------");
        //判断长度和是否为空
        System.out.println("list集合长度:"+list.size()+",list集合是否为空:"+list.isEmpty());
        System.out.println("-------------------");
        //查找指定元素的索引
        System.out.println(list.indexOf("红颜弹指老"));
        System.out.println(list.indexOf("刹那芳华"));
        System.out.println(list.lastIndexOf("红颜弹指老"));
        System.out.println("-------------------");
        //删除指定索引的元素
        list.remove(0);
        System.out.println(list);
        System.out.println("-------------------");
        //改变指定索引的元素
        list.set(2,"恋恋难忘");
        System.out.println(list);
    }
}

结果打印:
[红颜弹指老, 刹那芳华, 与其天涯思苦, 恋恋不舍, 莫若相忘于江湖, 莫若相忘于江湖]
————————————————————
list集合长度:6,list集合是否为空:false
————————————————————
0
1
0
————————————————————
[刹那芳华, 与其天涯思苦, 恋恋不舍, 莫若相忘于江湖, 莫若相忘于江湖]
————————————————————
[刹那芳华, 与其天涯思苦, 恋恋难忘, 莫若相忘于江湖, 莫若相忘于江湖]




List是个接口,无法直接为其实例化,选择使用子类ArrayList为其实例化,可以通过以上的例子看出

  1. List集合可以存储重复的元素
  2. 元素是有序的,这里的顺序就是按照为集合添加元素时的顺序
  3. 是可以存储不同数据类型的元素的,由于我规定了String,就只存了String
  4. 相较于数组,长度是可以变化的
  5. 只能存储引用数据类型

在这里解释一下第五条

public class Demo6 {
    public static void main(String[] args) {
        List list = new ArrayList();
        list.add(100);//Integer i = 100;    Integer i = Integer.valueOf(100);
        list.add(200);
        System.out.println(list);
    }
}

这里100并不是基本数据类型,因为List只能存储引用数据类型,因此是包装类Integer自动装箱,以下语法自然是会报错的

Integer<int> list = new ArrayList<>();
再总结一下List集合存储对象并遍历元素:
package com.qty6.demo;

import java.util.*;

/*
 * @author F3ver1
 * @date 2018/10/29 17:09
 */
class Student {
    private String name;
    private int age;
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
    public String getName() {
        return name;
    }
    public int getAge() {
        return age;
    }
}
class Test{
    public static void main(String[] args) {
        List<Student> List = new ArrayList<>();
        List.add(new Student("qty",20));
        List.add(new Student("qqq",21));
        List.add(new Student("aaa",22));
        Iterator<Student> iterator = List.iterator();
        //使用Collection接口中的迭代器遍历
        while (iterator.hasNext()){
             Student student = iterator.next();
            System.out.println("姓名:"+student.getName()+",年龄:"+student.getAge());
        }
        System.out.println("-----------------------");
        //使用for循环,size()方法与get()方法结合遍历
        for (int i = 0;i<List.size();i++){
            Student student = List.get(i);
            System.out.println("姓名:"+student.getName()+",年龄:"+student.getAge());
        }
        System.out.println("-----------------------");
        //使用List特有迭代器遍历
        ListIterator<Student> listIterator = List.listIterator();
        while (listIterator.hasNext()){
            Student student = listIterator.next();
            System.out.println("姓名:"+student.getName()+",年龄:"+student.getAge());
        }
    }
}

结果打印:
姓名:qty,年龄:20
姓名:qqq,年龄:21
姓名:aaa,年龄:22
————————————————
姓名:qty,年龄:20
姓名:qqq,年龄:21
姓名:aaa,年龄:22
————————————————
姓名:qty,年龄:20
姓名:qqq,年龄:21
姓名:aaa,年龄:22

这里推荐使用for循环遍历集合元素,简单容易使用
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
List是C++ STL中的容器之一,它实现了双向链表的数据结构,并提供了一系列的操作方法。在C++中使用List需要包含头文件<list>。 List的常用操作方法有: 1. 插入操作:使用push_back()在尾部插入元素,使用push_front()在头部插入元素。 2. 删除操作:使用pop_back()删除尾部的元素,使用pop_front()删除头部的元素,使用erase()删除指定位置的元素,可以删除指定范围内的元素。 3. 访问元素:可以使用迭代器(iterator)来遍历List中的元素,通过begin()和end()可以获取List的起始和结束迭代器,通过*迭代器取得对应位置的元素。 4. 大小操作:使用size()可以获取List中元素的数量,使用empty()可以判断List是否为空。 5. 合并操作:使用merge()可以将两个List合并,合并后的List会根据指定的比较函数进行排序。 6. 赋值操作:使用=运算符可以将一个List赋值给另一个List。 示例代码中的第一个引用给出了List的基本用法,包括声明List对象、插入元素、合并List等操作。第二个引用展示了List的构造方法和赋值重载的用法。引用提供了关于List的更多使用方法和常用操作的总结。最后,引用给出了一个删除List中所有元素的示例代码。 总之,List是一种灵活的容器,可以快速插入和删除元素,但访问元素的效率相对较低。通过熟练掌握List的各种操作方法,可以更好地利用List来实现各种应用需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值