首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >List和set

List和set

作者头像
在水一方
发布2022-06-14 16:29:40
发布2022-06-14 16:29:40
3230
举报
文章被收录于专栏:在水一方在水一方

List是java.util包下的一个接口(interface),继承了Collection

list中比较常用的两个类:ArrayList和LinkedList ArrayList的底层结构是数组,数组的数据结构是线性表,其默认的容量为10,线性表是最基本、最简单、也是最常用的一种数据结构

线性表主要由顺序表示或链式表示。在实际应用中,常以栈、队列、字符串等特殊形式使用(这个应该怎么理解)

线性表和链表在插入和删除数据上的效率又是怎么来体现出来的呢

代码语言:javascript
复制
 private static final int DEFAULT_CAPACITY = 10;

关于Set

  • Set中最常用的三个类:HashSet、TreeSet、LinkedHashSet

Set是java.util包下的一个接口(interface),继承了Collection,往Set中添加元素不能重复,如果重复添加,最新添加的会覆盖原有的值

Set是无序的

set是使用HashMap来实现的,只是value固定为一个静态对象,使用key来保证集合元素的唯一性,它不能保证集合元素的顺序

LinkedHashSet

LinkedHashSet继承自HashSet,具有HashSet的优势,内部使用链表维护了元素插入顺序

代码语言:javascript
复制
public class LinkedHashSet<E>
    extends HashSet<E>
    implements Set<E>, Cloneable, java.io.Serializable {
}

 @Test
    public void linkedHashSetDemo(){
        HashSet<String> set = new LinkedHashSet<>();
        set.add("name");
        set.add("age");
        set.add("address");
        System.out.println(set);
    }

得到的结果为:
[name, age, address]

接下来问题来了,Set的应用场景是什么呢?

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于Set
  • LinkedHashSet
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档