博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
温故而知新,可以为师矣,学习到的东西不断回顾,往往能够发现自己的不足...
阅读量:4881 次
发布时间:2019-06-11

本文共 3478 字,大约阅读时间需要 11 分钟。

从上周开始我们学习了集合构架,下面我们开始回顾下:

一.首先先来回顾ArrayList类:父类是List接口,在往上父类Collection集合

public class Demo01 {    public static void main(String[] args) {        /**         * list接口有序,可重复,有索引,可以用普通for循环         */        //新建arraylist类对象        ArrayList
obj = new ArrayList<>(); //添加数据 obj.add("ruirui"); obj.add("huahua"); obj.add("dandan"); obj.add("huahua"); obj.add("yeye"); obj.add("haohoa"); //打印输出 System.out.println(obj); //集合元素个个数 System.out.println(obj.size()); System.out.println("**************"); //移除指定索引为2的集合元素 obj.remove(2); System.out.println(obj); System.out.println("**************"); //增强性for循环的用法 for(String a:obj){ System.out.println(a); } System.out.println("**************"); //iterator迭代器的用法 Iterator
it = obj.iterator(); while(it.hasNext()){ String s = it.next(); System.out.println(s); } System.out.println("**************"); //因为list是有索引的,所以我们可以用普通for循环遍历集合元素 for(int i=0;i

输出结果是:

[ruirui, huahua, dandan, huahua, yeye, haohoa]6**************[ruirui, huahua, huahua, yeye, haohoa]**************ruiruihuahuahuahuayeyehaohoa**************ruiruihuahuahuahuayeyehaohoa**************ruiruihuahuahuahuayeyehaohoa**************[ruirui, huahua, yeye, haohoa]**************true**************false**************0

通过回顾,我们对ArrayList类的概念和方法的掌握是不是更上一层楼呢?

总结:

1,List接口是Collection集合的子类,ArrayList类是List接口的子类

2,List接口是有序集合,允许重复的元素出现

3,有索引,可以通过普通for循环遍历,也可以通过增强型for循环,还可以通过迭代器

4,ArrayList类最大的特点需要我们注意:元素增删慢,查询快

.LinkedList类

我们首先来看一段代码:

public class Demo02 {    public static void main(String[] args) {        //新建LinkedList类对象        LinkedList
obj = new LinkedList<>(); //添加数据元素 obj.add("ruirui"); obj.add("haohao"); obj.add("juahua"); //在第一个位置添加元素 obj.addFirst("xioye"); //在最后位置添加元素 obj.addLast("halou"); //返回第一个元素 String f = obj.getFirst(); System.out.println(f); //返回最后一个元素 String l = obj.getLast(); System.out.println(l); //移除元素 obj.remove("haohao"); System.out.println(obj); //打印输出元素个数 System.out.println(obj.size()); }}

输出结果是:

xioyehalou[xioye, ruirui, juahua, halou]4

总结:

1,List接口是Collection集合的子类,LinkedListt类是List接口的子类

2,List接口是有序集合,允许重复的元素出现

3,有索引,可以通过普通for循环遍历,也可以通过增强型for循环,还可以通过迭代器

4,LinkedList类最大的特点需要我们注意:增删快

5,LinkedList除了包含ArrayList的方法之外,还提供了add,get,remove,set。首部(Fist)和尾部(Late)方法

三.Set集合

下面我们先看干货:

public class Demo03 {    public static void main(String[] args) {        //新建HashSet类对象        HashSet
obj = new HashSet<>(); obj.add("ruirui"); obj.add("huahua"); obj.add("haohao"); int size = obj.size(); System.out.println(obj); obj.remove("ruirui"); System.out.println(obj); boolean empty = obj.isEmpty(); System.out.println(empty); boolean huahua = obj.contains("huahua"); System.out.println(huahua); obj.clear(); System.out.println(obj.size()); }}

输出结果:

[haohao, huahua, ruirui][haohao, huahua]falsetrue0

总结:

1,set接口继承于Collection,它的子类是HashSet,HashSet的子类是LinkedHashSet

2,set接口的特点是无序,不允许重复元素存在,没有索引,只能通过iterator迭代器和增强型for循环遍历

3,但是LinkedHashSet是有序的

4,HashSet类底层是一个哈希表,所以查询快,是Set接口的实现类

 

转载于:https://www.cnblogs.com/liurui-bk517/p/10904929.html

你可能感兴趣的文章
解析SQL Server之任务调度
查看>>
参考资料地址
查看>>
08.路由规则中定义参数
查看>>
Pandas截取列部分字符,并据此修改另一列的数据
查看>>
java.lang.IllegalArgumentException
查看>>
【Spark】编程实战之模拟SparkRPC原理实现自定义RPC
查看>>
接口实现观察者模式
查看>>
四则运算完结篇
查看>>
Objective-C中的类目,延展,协议
查看>>
Python标准模块--Iterators和Generators
查看>>
Introduction Sockets to Programming in C using TCP/IP
查看>>
PHP 简单实现webSocket
查看>>
zookeeper部署搭建
查看>>
navigationController pop回之前控制器
查看>>
汇编语言实验一
查看>>
Web.config配置文件详解(新手必看)
查看>>
selenide总结
查看>>
selenium--控制浏览器和简单元素操作
查看>>
android spannableString 替换 textview 中部分文字
查看>>
java 引用
查看>>