首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我应该返回List还是ArrayList

根据您提供的信息,您需要返回一个List。List是Java中的接口,ArrayList是实现List接口的类,因此您需要返回ArrayList类实现List接口的实例。

以下是完善且全面的答案:

在Java中,List和ArrayList都是用来存储元素的集合类。List是Java中的接口,而ArrayList是实现List接口的类。List接口定义了一组通用的集合操作,例如添加、删除、获取元素等,而ArrayList类实现了这些操作。

ArrayList类具有以下特点:

  • ArrayList类是线程安全的。
  • ArrayList类可以自动调整大小。
  • ArrayList类可以存储重复的元素。
  • ArrayList类在添加大量元素时具有更好的性能。

如果您需要返回一个List,则应该返回ArrayList类实现List接口的实例。ArrayList类在Java中广泛应用,特别是在处理大量数据时,因为其具有动态调整大小和线程安全的特点。

推荐的腾讯云相关产品和产品介绍链接地址:

腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm

腾讯云云数据库(TencentDB for MySQL):https://cloud.tencent.com/product/tencentdb

腾讯云容器服务(TKE):https://cloud.tencent.com/product/tke

腾讯云微服务平台(TSF):https://cloud.tencent.com/product/tsf

腾讯云企业云盘(Tencent Cloud Disk):https://cloud.tencent.com/product/edisk

腾讯云企业云数据库(TencentDB for SQLServer):https://cloud.tencent.com/product/tencentdb

腾讯云企业云文件存储(Tencent Cloud File Storage):https://cloud.tencent.com/product/tencent-cos

腾讯云企业云CDN(Tencent Cloud CDN):https://cloud.tencent.com/product/cdn

腾讯云企业云直播(Tencent Cloud Live):https://cloud.tencent.com/product/hlive

腾讯云企业云点播(Tencent Cloud Vod):https://cloud.tencent.com/product/vod

以上是腾讯云的一些产品,包括云服务器、云数据库、容器服务、微服务平台、企业云盘、企业云数据库、企业云文件存储、企业云CDN、企业云直播、企业云点播等,可以帮助企业和个人快速搭建自己的云计算平台。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

在 Python 中创建列表时,应该写 `[]` 还是 `list()`?

在 Python 中,创建列表有两种写法:python 代码解读复制代码# 写法一:使用一对方括号list_1 = []# 写法二:调用 list()list_2 = list()那么哪种写法更好呢?...('[]', number=1000000)print(f"list()的耗时: {time_list} 秒")print(f"[]的耗时: {time_brackets} 秒")# list()的耗时...python 代码解读复制代码import dis # pip3 install disprint("Disassembly of create_list_with_list:")dis.dis('list...list() 可以接受一个(且只能是一个)可迭代对象作为参数,并将其转换为列表:python 代码解读复制代码# 从可迭代对象创建列表list_from_tuple = list((1, 2, 3))...# [1, 2, 3]list_from_string = list("hello") # ['h', 'e', 'l', 'l', 'o']list_from_dict_keys = list({"

6310
  • 网页里的「返回应该用 history.back 还是 push ?

    这就诞生了新的问题:如果一个列表页A的来源,不止初始页面H,还有多个页面可以跳转列表页A,那么列表页A的网页「返回」按钮,应该返回到哪里呢?...但网页「返回」按钮还有个问题必须解决:若浏览器当前历史记录栈为空,或历史记录栈的上个页面并非该网页的页面,点「返回」,应该也能返回它的父页面。现在告诉你,这个技术难点,是有解的!...4.4 实现方案「返回」按钮,逻辑如下判断历史记录栈的上个页面,是不是的父页面。如果是的父页面,就用history.back(),使用浏览器原生返回行为。...与此同时,还没剥夺用户使用原生「返回」的权利。...总算是完成了令我满意的「返回」如果你想体验的游戏,看看「返回」的交互,欢迎访问 game.hullqin.cn写在最后是HullQin,公众号线下聚会游戏的作者(欢迎关注,交个朋友)。

    5.1K61

    面试问题之链表 (LinkedList)

    今天的面试中有一个比较有意思的题目,其实应该主要还是考察思路吧,可能是链表有比较长的时间没有看了,感觉问了下被问得有点懵。要实现的东西就是在链表中实现从链表的后面取倒数第二个元素。...,不管你是用 List 还是 ArrayList 还是 LinkedList 都很好实现的。...这个方法是后来考古找到的,其实如果是大学生的话,这个方法老师应该说过。双指针步进式查找法。...总结下就是对链表应该是知道怎么表达的,具体的写法应该还是明白的,问题就在于后面的反转算法上。...如果你不经常用,可能不熟悉,大部分情况下你可能用的是 ArrayList,真正用 LinkedList 的时候不多。很多人应该都没有选择障碍综合症,直接 ArrayList

    14720

    频繁FGC的真凶原来是它

    可是发生这个异常的操作上次已经被我定位到了,数据漏斗只有产品、运营等内部人员使用,通过使用频率推测,不应该有那么多对象。猜想是不是代码中存在死循环,但没有找到。没办法只能在测试环境进行场景复现了。...我们看下这个方法,主要找最根本的异常原因,有则返回,没有就返回当前的异常 ? 继续跟代码,cause不为null,返回这个异常 ?...bug代码定位 这个getThrowables方法,里面有个while循环,判断条件只进行了非空判断,不为null就添加到list中,注意观察截图的时刻,list的大小 8万多,其实远远不止会看开头dump...其实到这里已经定位到了FGC的真凶,判断条件没有排除返回的异常是已经添加到list中的异常,所以会一直循环添加,造成堆内存占用满了,FGC回收不掉这些对象,因为ArrayList一直持有他们的引用 正确代码应该如下面这样...list = new ArrayList(); // 这里的判断条件应该加上 list.contains(throwable) == false while (throwable

    59320

    ArrayList源码解析,老哥,来一起复习一哈?

    前言 JDK源码解析系列文章,都是基于JDK8分析的,虽然JDK14已经出来,但是JDK8还不会,… 类图 ?...虽然字节码指令我还看不太懂,但是能品出来,注释是没毛病的,private修饰的确会影响内部类的访问。 ArrayList类注释翻译 类注释还是要看的,能给我们一个整体的了解这个类。...ArrayList的类注释大概翻译整理了一下: ArrayList是实现List接口的可自动扩容的数组。实现了所有的List操作,允许所有的元素,包括null值。...如果不存在这样的Object,ArrayList应该用Collections.synchronizedList包装起来最好在创建的时候就包装起来,来保证同步访问。...但是懵懂到深刻的过程还是挺耐人寻味的。

    63010

    ArrayList 其实也有双胞胎,但区别还是挺大的!

    这样讲可能会很懵比,下面将会详细讲解到底为什么,现在我们先来看看Collection中的toArray()声明,让你对这个方法先有个大概的印象。...我们先来看看下面两个例子: 1、没有抛异常的情况 // 声明一个ArrayList集合,泛型为String类型 List list = new ArrayList(); // 添加一个元素...list.add("list"); // 将上面的集合转换为对象数组 Object[] listArray = list.toArray(); ................ 1 // 输出listArray...a.clone()之后还是一样返回String[]类型,只不过是这里做了一个向上转型,将String[]类型转为Object[]类型返回罢了,但是注意,虽然返回的引用为Object[],但实际的类型还是...father中添加Father类型了,而应该是Son 2、Java中向上转型是默认允许的,但是向下转型可能会抛出错误,得小心使用!

    49940

    一句话,讲清楚java泛型的本质(非类型擦除)

    解决 刚拿到这道题,也是一脸懵逼,这要报错也应该是在 returnlist.toArray((T[])newComparable[list.size()]);这行啊,而且要报错应该两个方法都报错啊。...回归正题 数组不能向下强转懂了,类型擦除也懂了,似乎还是过不好这一生,呃不是,是还是解决不了这道题啊?...这就是关键所在,结合类型擦除,运行时并没有所谓的泛型,所以raw()返回的其实是Object,但是调用者自己知道要的是String类型啊,所以我就知道强转一下喽。...而 (String)raw("1")的强转还是加上的,这是调用者知道类型是String,所以raw()返回后自己强转成String一下。...但是,调用方是知道需要的是Integer[]类型的,因为list里面是Integer类型,所以返回应该是Integer[]类型,所以我就强转喽,然后就报错了。 到底是不是这样?

    50730

    Java程序员们最常犯的10个错误

    1.将数组转化为列表 将数组转化为一个列表时,程序员们经常这样做: List list = Arrays.asList(arr); Arrays.asList()会返回一个ArrayList...()方法,但是没有增加元素的方法,所以它的大小是固定的,想要创建一个真正的ArrayList类,你应该这样做: ArrayList arrayList = new ArrayList<String...另外一个例子是排序和过滤:当然,你可以写一个方法来接收原始的集合,并且返回一个排好序的集合,但是那样对于大的集合就太浪费了。...还是构造器 有两种方式可以创建字符串 //1.使用字符串 String x = "abc"; //2.使用构造器 String y = new String("abc"); 有什么区别?...如果您能提出其它一些常见的错误,将会非常感激。 有一个微信公众号,经常会分享一些Java技术相关的干货。如果你喜欢的分享,可以用微信搜索“Java团长”或者“javatuanzhang”关注。

    2.2K10

    原创 |《吊打面试官》系列-ArrayList

    所有文章的名字只是的噱头,我们应该有一颗谦逊的心,所以希望大家怀着空杯心态好好学,一起进步。 正文 一个婀娜多姿,穿着衬衣的小姐姐,拿着一个精致的小笔记本,径直走过来坐在的面前。...Tip:这里还是强调下大家不要为了用而用,记得以前最开始工作就有这个毛病。...至于为啥说他效率低,想我不说你也应该知道了,这只是在一个这么小的List里面操作,要是去一个几百几千几万大小的List新增一个元素,那就需要后面所有的元素都复制,然后如果再涉及到扩容啥的就更慢了不是嘛...大家可能有点懵,直接操作一下代码,大家会发现我们虽然对ArrayList设置了初始大小,但是我们打印List大小的时候还是0,我们操作下标set值的时候也会报错,数组下标越界。...结论:ArrayList不适合做队列。 那数组适合用来做队列么? 这个女人是魔鬼么?不过还是得微笑面对! ? 数组是非常合适的。

    50630

    ArrayList

    所有文章的名字只是的噱头,我们应该有一颗谦逊的心,所以希望大家怀着空杯心态好好学,一起进步。 正文 一个婀娜多姿,穿着衬衣的小姐姐,拿着一个精致的小笔记本,径直走过来坐在的面前。...Tip:这里还是强调下大家不要为了用而用,记得以前最开始工作就有这个毛病。...至于为啥说他效率低,想我不说你也应该知道了,这只是在一个这么小的List里面操作,要是去一个几百几千几万大小的List新增一个元素,那就需要后面所有的元素都复制,然后如果再涉及到扩容啥的就更慢了不是嘛...大家可能有点懵,直接操作一下代码,大家会发现我们虽然对ArrayList设置了初始大小,但是我们打印List大小的时候还是0,我们操作下标set值的时候也会报错,数组下标越界。...结论:ArrayList不适合做队列。 那数组适合用来做队列么? 这个女人是魔鬼么?不过还是得微笑面对! ? 数组是非常合适的。

    74420

    Java程序员们最常犯的10个错误

    1.将数组转化为列表 将数组转化为一个列表时,程序员们经常这样做: List list = Arrays.asList(arr); Arrays.asList()会返回一个ArrayList...()方法,但是没有增加元素的方法,所以它的大小是固定的,想要创建一个真正的ArrayList类,你应该这样做: ArrayList arrayList = new ArrayList<String...另外一个例子是排序和过滤:当然,你可以写一个方法来接收原始的集合,并且返回一个排好序的集合,但是那样对于大的集合就太浪费了。...还是构造器 有两种方式可以创建字符串 //1.使用字符串 String x = "abc"; //2.使用构造器 String y = new String("abc"); 有什么区别?...如果您能提出其它一些常见的错误,将会非常感激。 有一个微信公众号,经常会分享一些Java技术相关的干货。如果你喜欢的分享,可以用微信搜索“Java团长”或者“javatuanzhang”关注。

    1.5K10

    Java程序员们最常犯的10个错误

    1.将数组转化为列表 将数组转化为一个列表时,程序员们经常这样做: List list = Arrays.asList(arr); Arrays.asList()会返回一个ArrayList...()方法,但是没有增加元素的方法,所以它的大小是固定的,想要创建一个真正的ArrayList类,你应该这样做: ArrayList arrayList = new ArrayList<String...另外一个例子是排序和过滤:当然,你可以写一个方法来接收原始的集合,并且返回一个排好序的集合,但是那样对于大的集合就太浪费了。 9.父类与子类的构造函数 ?...还是构造器 有两种方式可以创建字符串 //1.使用字符串String x = "abc";//2.使用构造器String y = new String("abc"); 有什么区别?...如果您能提出其它一些常见的错误,将会非常感激。

    53620
    领券