List接口

package com.ly.list;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class TestList {

    public static void main(String[] args) {

        Set<String> set = new HashSet<>();
        set.add("1");
        set.add("3");
        set.add("1");
        set.add("1");
        set.add("2");

        //System.out.println(set.size());

        //遍历set
        for(String s:set){
            System.out.println(s);
        }



     /*   List<String> list = new ArrayList();
        list.add("王丽丽");
        list.add("赵四");
        list.add("刘三");

        //遍历
        for(int i=0; i<list.size();i++){
            System.out.println(list.get(i));
        }
        System.out.println("------------------------------");
        //foreach
        for(String str:list){
            System.out.println(str);
        }
*/



       /* List list = new ArrayList();
        list.add(1);
        list.add("ddd");
        list.add("ddd");
        list.add("ddd");
        list.add("ddd");
        list.add("ddd");


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


    }

}

List 接口特点:

 有序, 可以重复, 当有重复内容时, 集合长度(size()) 一致变化

Set 接口特点:

无序, 不可以重复, 重复时发生覆盖, 重复的数据 size() 只会记录为1条

List接口与Set接口的区别主要体现在以下几个方面:

  1. 元素重复性:
    • List接口:允许存储重复的元素,并且元素是有序的,即按照它们被添加到List中的顺序排列。
  • Set接口:不允许存储重复的元素,元素是无序的,即Set中的元素没有特定的顺序。
  1. 检索效率:
    • Set接口:检索效率相对较低,但删除和插入元素的效率较高,因为插入和删除操作不会引起元素位置的变化。1
  • List接口:查找元素的效率较高,但插入和删除元素的效率较低,因为这些操作会导致其他元素位置的变化。
  1. 迭代器支持:
    • List接口:提供了多种迭代器,包括普通的Iterator和双向的ListIterator,允许从两个方向遍历集合中的元素。
  • Set接口:只提供了普通的Iterator迭代器,不支持双向遍历。
  1. 子集操作:

    • List接口:提供了subList方法,可以获取通过下标范围划出的子集。
    • Set接口:没有提供类似的方法来获取子集。
  2. 其他功能:

    • List接口:实现了RandomAccess接口,支持快速随机访问。
  • Set接口:没有实现RandomAccess接口,不支持快速随机访问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

射手座的程序媛

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值