J2E基础 集合框架之List

今天将从五个点剖析List的结构特点

1.List集合的基本特点

废话不多说,上代码!!!

 上图为list集合的添加方法,此时的输出结果为:a,b,c,d,e  共五个元素

 在图1的基础上在增加一个元素“b”,此时的输出结果为:a,b,c,d,e,b 共六个元素

由此体现了关于List集合的可重复性

ok,我们继续输入语句

 list.remove(x),这个是移除的方法,但是注意了!!!

x为数据类型!

注意注意!!!

如果x为int类型,返回的类型为当前下标所代表的元素

如果x为String类型,返回的类型为boolean类型,如果集合当中含有“c”元素,则返回true,否则为false

所以此时的输出结果为:b,d,e,b

——>

 list.get(x),这是集合当中获取元素的方法,x为元素代表的下标位置

list.set(x,"y")  这是集合当中设置元素的方法,x为元素代表的下表位置,y为你所要设置的内容

这里的意思是设置第0位元素为a,之前第0位元素的内容将会被替换

所以最后的输出结果为:a,d,e,b  

总结:lis集合的增删改查,集合的有序性,集合的可重复性!

2.关于List集合三种遍历方式

老样子,话不多说,往集合里面丢几个元素

①  fori 方法

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

foreach 方法

for (String s : list) {
            System.out.println(s);
        }

Iterator 方法
        Iterator<String> it = list.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }

这三种方法的输出结果都为:a,b,c

总结:三种方法都可以遍历集合里面的元素

3.用linkedList集合实现队列以及堆栈

说明:队列以及堆栈可能比较抽象,给大家画图先讲解一下何为队列以及堆栈

队列

 画图水平一般,见谅......

图中为一个队列,遵循左进右出的原理,所以,先进先出为队列

堆栈

 

图中为一个容器,依次加入abc元素,所以a居下,b居中,c最上,在取元素的时候,

顺序为c,b,a  遵循先进后出的道理

图中代码,class一个堆栈实体类pop()为取元素的方法,在main方法里面调用pop()方法,最后的输出结果为 c,b,a  先进后出

4.增长因子论证

这里我们首先了解关于List集合增长因子的论证,给大家论证一遍

①Arraylist集合底层是数组结构,是“可变数组

②一旦超过默认数组大小会自动扩容,宽容的增长因子为0.5

 printElementDataLength()方法是验证增长因子为0.5的方法

直接输出看结果

 代码中我使用了fori()的方法进行遍历,区间为1-30

从输出结果图可以看出当i<=10时,数组默认长度为10,

i的数值大于数组默认长度时,数组接下来的长度为10*0.5=15,以此类推......

5.集合框架Arraylist中重复元素去重及其底层原理

记住!list集合当中去重与去重对象的equals方法有关

 !list.contains()方法  意思为:不包含

代码中为:如果集合当中不包含某某人,那就添加某某人

 输出结果为此图,图中“equals方法被调用。。。”出现两次,是因为在list集合中,运行

从上往下,因为集合当中有“李四”这个人,所以不需要添加。

“equals方法被调用。。。”  此语句出现的第二次就进行了判断,判断有“李四”这个人

 这个方法为equals()方法,快捷键为Alt+Shift+s

 可以自动生成equals()方法

总结:关于集合框架Arraylist的一些方法特性,都给大家细分到这里了,希望能有所帮助

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值