list集合练习

本文详细介绍了Java中的List接口,包括其基本概念、常见实现类(ArrayList和LinkedList)的特点,以及提供了添加、获取、删除、修改和遍历等常用方法。通过实例展示了如何使用这些方法进行集合操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

list

Java中的List是一个接口,表示元素按特定顺序排列的集合。它是Java集合框架中最常用的接口之一,提供了一些常用的方法来操作元素。

List接口有多个实现类,常见的有ArrayList和LinkedList。ArrayList是基于数组实现的,支持快速随机访问和元素的插入、删除操作比较高效;而LinkedList是基于链表实现的,对于插入和删除操作更加高效,但随机访问的性能较差。

下面是一些List接口提供的常用方法:

  1. 添加元素:

    • add(E element):将元素添加到列表的末尾。
    • add(int index, E element):将元素插入到指定索引位置。
  2. 获取元素:

    • get(int index):获取指定索引位置的元素。
    • indexOf(Object o):返回第一个匹配元素的索引。
    • lastIndexOf(Object o):返回最后一个匹配元素的索引。
  3. 删除元素:

    • remove(int index):删除指定索引位置的元素。
    • remove(Object o):删除第一个匹配的元素。
  4. 修改元素:

    • set(int index, E element):将指定索引位置的元素替换为新元素。
  5. 列表信息:

    • size():返回列表中的元素个数。
    • isEmpty():判断列表是否为空。
  6. 遍历列表:

    • 使用for循环或者迭代器遍历List中的元素。

除了上述常用的方法,List还继承自Collection接口,因此也包含Collection接口中的一些方法,如集合的迭代、判断是否包含某个元素等。

需要注意的是,List是一个有序集合,允许元素重复。通过索引操作可以访问列表中的元素,索引从0开始,范围是0到size()-1。

list集合练习

1.定义一个Collection接口类型的变量,引用一个List集合的实现类,实现添加单个元素,添加另一个集合,删除元素,判断集合中是否包含一个元素,判断是否为空,清除集合,返回集合里元素的个数等常用操作。

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

public class CollectionExample {
    public static void main(String[] args) {
        // 定义Collection接口类型的变量,引用一个List集合的实现类
        Collection<String> collection = new ArrayList<>();

        // 添加单个元素
        collection.add("Element 1");

        // 添加另一个集合
        List<String> anotherList = new ArrayList<>();
        anotherList.add("Element 2");
        anotherList.add("Element 3");
        collection.addAll(anotherList);

        // 删除元素
        collection.remove("Element 1");

        // 判断集合中是否包含一个元素
        boolean containsElement = collection.contains("Element 2");
        System.out.println("集合中是否包含元素 'Element 2': " + containsElement);

        // 判断集合是否为空
        boolean isEmpty = collection.isEmpty();
        System.out.println("集合是否为空: " + isEmpty);

        // 清除集合
        collection.clear();

        // 返回集合里元素的个数
        int size = collection.size();
        System.out.println("集合的元素个数: " + size);
    }
}

2.创建ArrayList实例化对象,添加10个以上的元素,在2号位插入一个元素,获得5号位元素,删除6号位元素,修改7号位的元素;

import java.util.ArrayList;

public class ArrayListExample {
    public static void main(String[] args) {
        // 创建ArrayList实例化对象
        ArrayList<String> arrayList = new ArrayList<>();

        // 添加10个以上的元素
        arrayList.add("Element 1");
        arrayList.add("Element 2");
        arrayList.add("Element 3");
        arrayList.add("Element 4");
        arrayList.add("Element 5");
        arrayList.add("Element 6");
        arrayList.add("Element 7");
        arrayList.add("Element 8");
        arrayList.add("Element 9");
        arrayList.add("Element 10");

        // 在2号位插入一个元素
        arrayList.add(2, "Inserted Element");

        // 获得5号位元素
        String elementAt5 = arrayList.get(5);
        System.out.println("5号位元素:" + elementAt5);

        // 删除6号位元素
        arrayList.remove(6);

        // 修改7号位的元素
        arrayList.set(7, "Modified Element");

        // 打印ArrayList的内容
        System.out.println("ArrayList内容:" + arrayList);
    }
}

3.

1)封装一个新闻类,包含标题和内容属性,提供get、set方法,重写toString方法,打印对象时只打印标题;(10分)

2)只提供一个带参数的构造器,实例化对象时,只初始化标题;并且实例化两个对象:
新闻一:中国多地遭雾霾笼罩空气质量再成热议话题
新闻二:春节临近北京“卖房热”

3)将新闻对象添加到ArrayList集合中,并且使用ListIterator倒序遍历;

4)在遍历集合过程中,对新闻标题进行处理,超过15字的只保留前14个,然后在后边加“…”

5)在控制台打印遍历出经过处理的新闻标题

import java.util.ArrayList;
import java.util.ListIterator;

public class News {
    private String title;
    private String content;

    public News(String title, String content) {
        this.title = title;
        this.content = content;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    @Override
    public String toString() {
        return title;
    }

    public static void main(String[] args) {
        // 创建新闻对象
        News news1 = new News("中国多地遭雾霾笼罩空气质量再成热议话题", "新闻一的内容");
        News news2 = new News("春节临近北京“卖房热”", "新闻二的内容");

        // 创建ArrayList集合
        ArrayList<News> newsList = new ArrayList<>();

        // 将新闻对象添加到ArrayList集合
        newsList.add(news1);
        newsList.add(news2);

        // 使用ListIterator倒序遍历集合
        ListIterator<News> iterator = newsList.listIterator(newsList.size());
        while (iterator.hasPrevious()) {
            // 获取新闻对象
            News news = iterator.previous();

            // 对新闻标题进行处理
            String processedTitle = news.getTitle();
            if (processedTitle.length() > 15) {
                processedTitle = processedTitle.substring(0, 14) + "...";
            }

            // 打印处理后的新闻标题
            System.out.println(processedTitle);
        }
    }
}

4.创建一个List集合的对象,添加几个数字,反转对象中元素的顺序;根据元素的自然顺序排序;

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

public class ListExample {
    public static void main(String[] args) {
        // 创建List集合对象
        List<Integer> numbers = new ArrayList<>();

        // 添加数字
        numbers.add(5);
        numbers.add(2);
        numbers.add(9);
        numbers.add(1);
        numbers.add(7);

        // 反转元素顺序
        Collections.reverse(numbers);

        // 打印反转后的元素
        System.out.println("反转后的元素:" + numbers);

        // 根据自然顺序排序
        Collections.sort(numbers);

        // 打印排序后的元素
        System.out.println("排序后的元素:" + numbers);
    }
}

5.创建一个List集合的对象,添加几个字符串,反转对象中元素的顺序;根据元素的自然顺序排序;

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

public class ListExample {
    public static void main(String[] args) {
        // 创建List集合对象
        List<String> strings = new ArrayList<>();

        // 添加字符串
        strings.add("Apple");
        strings.add("Banana");
        strings.add("Orange");
        strings.add("Grapes");
        strings.add("Mango");

        // 反转元素顺序
        Collections.reverse(strings);

        // 打印反转后的元素
        System.out.println("反转后的元素:" + strings);

        // 根据自然顺序排序
        Collections.sort(strings);

        // 打印排序后的元素
        System.out.println("排序后的元素:" + strings);
    }
}

6.创建一个List集合的对象,添加几条数据,将1号位和2号位交换;获得最大值,最小值;

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

public class ListExample {
    public static void main(String[] args) {
        // 创建List集合对象
        List<Integer> numbers = new ArrayList<>();

        // 添加数据
        numbers.add(5);
        numbers.add(2);
        numbers.add(9);
        numbers.add(1);
        numbers.add(7);

        // 交换1号位和2号位的元素
        Collections.swap(numbers, 1, 2);

        // 打印交换后的元素
        System.out.println("交换后的元素:" + numbers);

        // 获取最大值
        Integer max = Collections.max(numbers);
        System.out.println("最大值:" + max);

        // 获取最小值
        Integer min = Collections.min(numbers);
        System.out.println("最小值:" + min);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值