博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java——集合、迭代器
阅读量:2781 次
发布时间:2019-05-13

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

一、集合 介绍

集合是java中提供的一种容器,可以用来存储多个数据。

集合的长度是可变的。这与数组不同,数组的长度是固定的。

集合继承体系:

Collecton接口常用的子接口有:List接口、Set接口
 List接口常用的子类有:ArrayList类、LinkedList类
 Set接口常用的子类有:HashSet类、LinkedHashSet类

这里写图片描述

二、Colletion 常用方法

Collection接口中的方法是集合中所有实现类必须拥有的方法。

1、Object[] toArray()

集合中的元素,转成一个数组中的元素, 集合转成数组
返回是一个存储对象的数组, 数组存储的数据类型是Object

2、.size()方法, 返回值int

学习Java中三种长度表现形式
* 数组.length 属性 返回值 int
* 字符串.length() 方法,返回值int
* 集合.size()方法, 返回值int

3、boolean contains(Object o)

判断对象是否存在于集合中,对象存在返回true

4、void clear()

清空集合中的所有元素集合 容器本身依然存在

5、boolean remove(Object o)

移除集合中指定的元素

三、迭代器

A:迭代器概述

a:java中提供了很多个集合,它们在存储元素时,采用的存储方式不同。

我们要取出这些集合中的元素,可通过一种通用的获取方式来完成。

b:Collection集合元素的通用获取方式:在取元素之前先要判断集合中有没有元素,

如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来。一直把集合中的所有元素全部取出。这种取出方式专业术语称为迭代。

c:每种集合的底层的数据结构不同,例如ArrayList是数组,LinkedList底层是链表,但是无论使用那种集合,我们都会有判断是否有元素

以及取出里面的元素的动作,那么Java为我们提供一个迭代器定义了统一的判断元素和取元素的方法

B、迭代器的代码实现

两个重要方法:

hasNext ()和 next()

public class IteratorDemo {        public static void main(String[] args) {          Collection
coll = new ArrayList
(); coll.add("abc1"); coll.add("abc2"); coll.add("abc3"); coll.add("abc4"); //迭代器,对集合ArrayList中的元素进行取出 //调用集合的方法iterator()获取出,Iterator接口的实现类的对象 Iterator
it = coll.iterator(); //接口实现类对象,调用方法hasNext()判断集合中是否有元素 //boolean b = it.hasNext(); //System.out.println(b); //接口的实现类对象,调用方法next()取出集合中的元素 //String s = it.next(); //System.out.println(s); //迭代是反复内容,使用循环实现,循环的条件,集合中没元素, hasNext()返回了false while(it.hasNext()){ String s = it.next(); System.out.println(s); } } }

四、增强for循环

*  JDK1.5新特性,增强for循环  *  JDK1.5版本后,出现新的接口 java.lang.Iterable  *  Collection开是继承Iterable格式:  *      for( 数据类型  变量名 : 数组或者集合 ){  *         sop(变量);  *      }

代码:

public static void function_1(){        //for对于对象数组遍历的时候,能否调用对象的方法呢        String[] str = {
"abc","itcast","cn"}; for(String s : str){ System.out.println(s.length()); } }
你可能感兴趣的文章
一个遍历树控件节点的方法
查看>>
浅谈opencv中的Mat在处理图像数据中的用法
查看>>
c++中的几个运算符的说明
查看>>
Http1.1和Http1.0,HTTP2.0的区别
查看>>
Http怎么处理长连接。
查看>>
Cookie与Session的作用与原理
查看>>
http和HTTPS的区别
查看>>
IP协议,OSPF,RIP
查看>>
Ping的整个过程,ICMP报文是什么?IGMP是什么?
查看>>
C/S模式下使用socket通信,几个关键函数。
查看>>
SQL语句之操作数据库
查看>>
索引的分类
查看>>
数据库引擎
查看>>
聚集索引和非聚集索引
查看>>
MYSQL数据库优化
查看>>
squid多台集群squid配置
查看>>
VLAN网络的配置实例
查看>>
查看网站占用内存和cpu资源的方法
查看>>
基于HTTP协议的开源中文分词系统:HTTPCWS 1.0.0 发布
查看>>
中国移动飞信免费发短信API接口(第三方 Fetion API)
查看>>