A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.请用自己的语言描述集合体系
2.List接口有什么特点
3.对于List集合,遍历有几种方式
4.ArrayList和LinkedList集合各自有什么特点,为什么?

8 个回复

倒序浏览

1.请用自己的语言描述集合体系
集合体系的单列集合的顶层是Collection接口,Collection下有两个子接口为List接口(有序)和Set(无序)接口。
List接口下有两个它实现类ArrayList集合和LinkedList集合。Set接口下有两个实现类HashSet集合和TreeSet集合。

2.List接口有什么特点
List接口是有序的,可重复的,带索引方法的。里面的元素会按照指定的顺序进行排列/输出,元素可以重复,并且有索引,可以对每一个元素进行精准的操作,所存储的的元素内容可以为Null.
               
3.对于List集合,遍历有几种方式
有三种遍历方式:
(1)迭代器-Collection集合的通用遍历方式,在LinkedList集合中还可以使用列表迭代器遍历。如必须要使用迭代器遍历集合,有需要在遍历时增删改元素就使用LinkedList集合,并使用列表迭代器,否则会出现并发修改异常。
(2)普通for循环(有索引):好处就是迭代器没有的,可以在遍历时增删改元素。
(3)增强for循环(最简单)


4.ArrayList和LinkedList集合各自有什么特点,为什么?
ArrayList集合是一个查询快,增删慢的集合,它的底层是一个数组,如果创建一个数组就要在内存中开辟一块连续的空间,开辟空间之后数组的长度就是固定的,如果再想增删元素就要重新开辟一块新的空间,复制之前的数组到新的空间的新的数组,再把新元素增删处理,这是它增删慢的原因。而因为在同一个地址里,所以查询会比较快。
LinkedList集合是一个查询慢,增删快的集合,它的底层是一个链表,它不要求有连续的空间,只要有内存就可以存储,所包含的每一个元素都有自己的一个地址值,并且指向下一个元素的地址值,当需要在两个元素中间插入一个新元素时,只需要将前一个元素指向的地址值修改成新增元素的地址,而新增元素再指向下一个元素的地址即可,所以它的增删改没有像数组那么繁琐。也因它的存储空间不是连续的,所以当我们需要找到一个元素时,需要像数数一样从头到尾一个一个找,所以查询较慢。
我们可以根据自己的需求来决定使用哪一个集合更方便。
回复 使用道具 举报
1.请用自己的语言描述集合体系
        由接口和类组成,可以储存多个相同类型数据的存储器。

2.List接口有什么特点
        liet接口的特点是有序,可重复,由索引。

3.对于List集合,遍历有几种方式
        由for、增强for、Iterator(迭代器)三种

4.ArrayList和LinkedList集合各自有什么特点,为什么?
        ArrayList:底层是数组,需要整块相连的内存空间。
                数据储存于相邻内存空间,可以通过内存和索引快速查找一个元素,查询快。
                每次增加删除内容数据都需要调整该索引后的所有数据,增删慢。
        LinkedList:底层原理为链表,无需相连内存,每个节点头尾链接前后元素。
                可以通过修改节点头尾指向快速增删元素,无需多无调整。
                必须从头开始通过各节点头尾地址查找下一个元素,查询慢。
                       
       
回复 使用道具 举报

1.请用自己的语言描述集合体系
集合体系结构分为单列集合和双列集合。
单列结合分为Set(无索引,不可重复)和List(有索引,可重复)。
List又分为ArrayList、LinKedList等
ArrayList的底层是数组结构。有增删慢(每次增删需要创建新的数组),查询快(有索引值,能快速定位元素)的特点。
LinKedList底层是链表结构。有增删快(链表结构增删数据值需要改变下一个元素的地址值即可),查询慢(每次查询都要从头开始查)的特点。

2.List接口有什么特点
有序排列,有索引,元素可重复。

3.对于List集合,遍历有几种方式
有三种方式,其一是普通的for循环遍历,其二是利用迭代器遍历,其三是使用增强for循环遍历。

4.ArrayList和LinkedList集合各自有什么特点,为什么?
ArrayList的底层是数组结构。有增删慢(每次增删需要创建新的数组),查询快(有索引值,能快速定位元素)的特点。
LinKedList底层是链表结构。有增删快(链表结构增删数据值需要改变下一个元素的地址值即可),查询慢(每次查询都要从头开始查)的特点。
回复 使用道具 举报
1.请用自己的语言描述集合体系
        集合的顶层接口为Collection接口,继承接口有List接口和Set接口。List接口的特点:有序,可重复,带索引和索引值方法,有ArrayList和LinkedList两大实现类;Set接口的特点:无序,不可重复,无索引,主要有HashSet和TreeSet两大实现类。
2.List接口有什么特点
        List接口的特点:有序,可重复,带索引和索引值方法,有ArrayList和LinkedList两大实现类
3.对于List集合,遍历有几种方式
        1:获取迭代器,利用迭代器遍历数组
        2:For循环,利用get()方法和索引值遍历集合
        3:Foreach循环
4.ArrayList和LinkedList集合各自有什么特点,为什么?
        ArrayList:查取快,增删满;原因:因为ArrayList底层的数据结构为数组,储存空间是整块连续的,所以在查取上效率更高;但是在做增删操作的时,每次都需要把数据从旧的数据迁移到创建新的数组中,所以效率更低。
        LinkedList(链表):增删快,查取慢;原因:LinkedList的储存空间是不连续分散的,每个数据块都会存有下个数据的地址值,增删只需要修改地址值即可;但是在做查取操作时遍历数组的效率不高,所以在查取上较慢。
回复 使用道具 举报

1.请用自己的语言描述集合体系

集合分为单列接口Collection和双列接口Map,单列Collection分为可重复的接口List和不可重复的接口Set,
List底下有两个实现类分别是ArrayList(底层是数组)和LinkedList(底层是链表);

2.List接口有什么特点
有索引值,可重复,存取有序;

3.对于List集合,遍历有几种方式
三种 fori 迭代器 增强for

4.ArrayList和LinkedList集合各自有什么特点,为什么?
ArrayList增删慢,查找快;因为底层是数组,储存空间是整块连续的,增加元素的时候需要开辟新的空间,所以增删慢,
但也因为在同一个地址值里可以通过索引所以易于查找;
LinkedList增删快,查找慢;因为底层是链表,不需要连续的空间,每个元素包含内存、自身的地址值、下一个元素的地址值,
增加元素不需要为整个集合重新开辟空间,只需要修改地址值,因此占据内存小,
但是查找时需要遍历所有元素的地址值所以查找慢;
回复 使用道具 举报
1.请用自己的语言描述集合体系
Collection接口是所有单列集合的父接口,Collection主要被2大子接口继承:List和Set
①List:集合有序,有索引值,可重复,List主要实现类有ArrayList(数组结构)和LinkedList(链表结构)。
②Set:主要被2大子接口继承:HashSet和TreeSet,集合无序,无索引值,不可重复。

2.List接口有什么特点
List:集合有序,有索引值,可重复。


3.对于List集合,遍历有几种方式
3种,for循环,加强for循环,迭代器方法。

4.ArrayList和LinkedList集合各自有什么特点,为什么?
ArrayList:数组结构,查询快,增删慢。
LinkedList:链表结构,查询慢,增删快。
回复 使用道具 举报
1.请用自己的语言描述集合体系
集合的顶层接口为Collection接口,继承该接口的子接口有List接口(有序,可重复,有索引)和Set接口(无序,不可重复,无索引)
ArrayList类和LinkedList类实现了List接口,HashSet类和TreeSet类实现了Set接口

2.List接口有什么特点
有序,可重复,有索引

3.对于List集合,遍历有几种方式
三种
普通for遍历
迭代器Iterator或者子类ListIterator遍历
增强for遍历

4.ArrayList和LinkedList集合各自有什么特点,为什么?
ArrayList增删不易,改查容易
ArrayList底层是数组,每次增加或者删除元素都需要重新创建一个新数组
由于数组是存储在连续一段存储空间,所以改查容易

LinkedList增删容易,改查不易
LinkedList底层是链表,每次增加或者删除元素只需要修改节点处指向的地址值即可
由于链表是存储在不连续的存储空间,所以改查不易
回复 使用道具 举报
1. 请用自己的语言描述集合体系
集合分为两大体系分别为双列集合(Map)和单列集合(Collection),单列集合下有两大接口List(有序,有索引,可重复)接口和Set(无序且不重复)接口。List接口下的实现类ArrayList的底层是由数组构成它查询快增删慢,LinkedList实现类的底层是链表它查询慢增删快。

2.List接口有什么特点
List接口有序,有索引,并且实现类中的元素可以重复。

3.对于List集合,遍历有几种方式
List集合的遍历有三种:
1>普通for   2>增强    3>for迭代器

4.ArrayList和LinkedList集合各自有什么特点,为什么?
1>ArrayList的底层是由数组组成创建它需要连续的空间,具有检索元素快,添加元素慢的特点。
2>LinkedList的底层是由链表构成它储存元素空间是分散的,具有检索慢,添加元素快的特点。

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马