J2E基础 集合框架之List

导读:本篇文章讲解 J2E基础 集合框架之List,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

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

1.List集合的基本特点

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

J2E基础 集合框架之List

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

J2E基础 集合框架之List

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

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

ok,我们继续输入语句

J2E基础 集合框架之List

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

x为数据类型!

注意注意!!!

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

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

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

——>

J2E基础 集合框架之List

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

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

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

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

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

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

J2E基础 集合框架之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集合实现队列以及堆栈

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

队列

J2E基础 集合框架之List

 画图水平一般,见谅……

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

堆栈

J2E基础 集合框架之List

 

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

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

J2E基础 集合框架之List

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

4.增长因子论证

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

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

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

J2E基础 集合框架之List

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

直接输出看结果

J2E基础 集合框架之List

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

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

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

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

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

J2E基础 集合框架之ListJ2E基础 集合框架之List

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

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

J2E基础 集合框架之List

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

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

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

J2E基础 集合框架之List

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

J2E基础 集合框架之List

 可以自动生成equals()方法

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/12263.html

(0)
小半的头像小半

相关推荐

极客之家——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!