0

0

java中使用Collection的实例详解

零下一度

零下一度

发布时间:2017-07-20 19:07:43

|

2190人浏览过

|

来源于php中文网

原创

一.collection(java.util)
1.概述:具有相同性质的一类事物的汇聚的整体,称为集合.任何集合都包含三块内容:对外的接口/接口的实现/对集合运算的算法.
         java中使用collection来表示单列集合顶层的接口.
         public interface collection extends itretaor{}
         注意:接口不能直接实例化,得需要其子类
2.特点及体系:collection为顶层接口,仅描述集合的共性内容.常用的子接口为 list 和 set.
     共性内容:
         (1)集合容器的的长度可以改变;
         (2)存储的是同一个类型的数据;
         (3)只能存引用数据类型(基本数据类型需进行装箱操作);
     list : 有序/允许重复;
     set : 无序/不允许重复;
     queue:队列接口;
     sortedset:对集合中的数据进行排序;
3.常用方法:

  public boolean add(E e){}:向集合中插入对象;
     public boolean addAll(Collection c){}:插入一个集合的内容;
     public void clear(){}:清除此集合中的所有内容,但是保留该集合容器;
     public boolean contains(Object o){}:判定某一对象是否存在该集合中;
     public boolean containsAll(Collection c){}:判断一组对象是否存在该集合中;
     public boolean equals(Object o){}:对象比较;
     public int hashCode(){}:哈希值;
     public boolean isEmpty(){}:判断集合是否为空;
     public Iterator iterator(){}:为Iterator接口实例化;返回迭代器实例化对象;
     public boolean remove(Object o){}:删除指定对象;
     public boolean removeAll(Collection c){}:删除一组对象;
     public boolean retainAll(Collection c){}:保存指定内容;
     public int size(){}:求出集合大小;
     public Object[] toArray(){}:将一个集合变为对象数组;

代码:

  1 import java.util.Collection;  2 	import java.util.ArrayList;  3   4 	public class Coll{  5 		public static void main(String[] args){  6 			//通过子类实例化接口对象,因为接口全为抽象无法直接实例化  7 			Collection c = new ArrayList();  8 			//添加元素add()  9 			c.add("Rose"); 10 			c.add("Jack"); 11 			//查看集合内容 12 			System.out.println(c);//[Rose, Jack] 13 			//查看集合长度 14 			System.out.println(c.size());//2 15 			//查看是否包含tom 16 			System.out.println(c.contains("tom"));//false 17 			//查看是否包含Tom 18 			c.add("Tom"); 19 			System.out.println(c.contains(new String("Tom")));//true--new String("Tom")返回一个"Tom"字符串 20 			//删除指定对象remove() 21 			c.remove("Rose"); 22 			System.out.println(c);//[Jack, Tom] 23 			//删除所有对象-保留集合 24 			c.clear(); 25 			System.out.println(c);//[] 26 			//判断是否为空 27 			System.out.println(c.isEmpty());//true 28 		} 29 	}

二.Iterator(java.util)
1.定义:专门操作集合的工具类,只要碰到集合的输出操作就一定使用Iterator接口
     pbulic interface Iterator
2.常用方法:
     public boolean hasNext(){}:判断是否存在下一个值;
     public E next(){}:取出当前元素;
     public void remove(){}:移除当前元素;
3.注意事项:
(1)使用迭代器只能删除数据,不能添加数据;
(2)迭代器迭代数据的过程中,不能使用集合自带的方法,改变集合的长度!否则会报异常:ConcurrentModificationException 并发修改异常!
(3)注意在构建迭代器的时候,其后内指定类型(如:Iterator it = Collection.iterator();),否则运算会出错,仅打印没问题;

aspx1财付通支付接口源码
aspx1财付通支付接口源码

本支付接口的特点,主要是用xml文件来记录订单详情和支付详情。代码比较简单,只要将里面的商户号、商户key换成你自己的,将回调url换成你的网站,就可以使用了。通过这个实例也可以很好的了解一般在线支付接口的基本工作原理。其中的pay.config文件记录的是支付详情,order.config是订单详情

下载
  1 代码1://需求:利用Iterator输出集合内容  2 	import java.util.Collection;  3 	import java.util.ArrayList;  4 	import java.util.Iterator;  5   6 	public class IteratorDemo{  7 		public static void main(String[] args){  8 			//通过子类实例化对象实例化Collection对象  9 			Collection c = new ArrayList(); 10 			//向集合c中添加元素 11 			c.add("Green"); 12 			c.add("Smith"); 13 			c.add("Philip"); 14 			//通过Collection的iterator方法,创建iterator对象 15 			Iterator it =c.iterator();	//注意在构建迭代器的时候,指定类型(此处为),否则运算会出错,仅打印没问题 16 			//输出集合c中的所有元素 17 			while(it.hasNext()){ 18 				System.out.print(it.next()+"\t");//注意,建议判断一次仅调用一次next()方法,由于next()在输出的时候也会使指针向前移动,容易发生"NoSuchElementException" 19 				//System.out.println("i like"+it.next());//java.util.NoSuchElementException 20 			} 21 		} 22 	}
  1 代码2://需求:删除元素  2 import java.util.Collection;  3 import java.util.ArrayList;  4 import java.util.Iterator;  5   6 public class IteratorDemo{  7 	public static void main(String[] args){  8 		//通过子类实例化对象实例化Collection对象  9 		Collection c = new ArrayList(); 10 		//向集合c中添加元素 11 		c.add("Green"); 12 		c.add("Smith8"); 13 		c.add("Philip"); 14 		//foreach迭代 15 		for(String s : c){ 16 			System.out.print(s+"\t")	//Green Smith8 Philip 17 		} 18 		System.out.println("====================") 19 		//通过Collection的iterator方法,创建iterator对象 20 		Iterator it =c.iterator();//注意在构建迭代器的时候,指定类型(此处为),否则运算会出错,仅打印没问题 21 		//输出集合c中的所有元素 22 		while(it.hasNext()){ 23 			//取出集合中的元素 24 			String str = it.next(); 25 			//判断是否含有数字--正则(字符串最后一位是数字的) 26 			if(str.matches("\\w+\\d")){ 27 				it.remove(); 28 			}else{ 29 				System.out.print(str+"\t");// Green Philip 30 			} 31 		} 32 		System.out.print("删除带数字的名称后为:"+c+"\t");//删除带数字的名称后为:[Green, Philip] 33 	} 34 } 35

三.for--each
1.作用:增强for是JDK1.5之后出现的新特性,可以用于迭代(遍历/循环)集合或数组!可以使用增强for替代迭代器,获取集合的元素内容!
2.格式:
     for(数据类型 变量名 : 对象名或数组名){
             集合或数组中的每一个元素!
         }

相关文章

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

32

2026.01.31

高干文在线阅读网站大全
高干文在线阅读网站大全

汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

24

2026.01.31

无需付费的漫画app大全
无需付费的漫画app大全

想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

29

2026.01.31

漫画免费在线观看地址大全
漫画免费在线观看地址大全

想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

6

2026.01.31

漫画防走失登陆入口大全
漫画防走失登陆入口大全

2026最新漫画防走失登录入口合集,汇总多个稳定可用网址,助你畅享高清无广告漫画阅读体验。阅读专题下面的文章了解更多详细内容。

9

2026.01.31

php多线程怎么实现
php多线程怎么实现

PHP本身不支持原生多线程,但可通过扩展如pthreads、Swoole或结合多进程、协程等方式实现并发处理。阅读专题下面的文章了解更多详细内容。

1

2026.01.31

php如何运行环境
php如何运行环境

本合集详细介绍PHP运行环境的搭建与配置方法,涵盖Windows、Linux及Mac系统下的安装步骤、常见问题及解决方案。阅读专题下面的文章了解更多详细内容。

0

2026.01.31

php环境变量如何设置
php环境变量如何设置

本合集详细讲解PHP环境变量的设置方法,涵盖Windows、Linux及常见服务器环境配置技巧,助你快速掌握环境变量的正确配置。阅读专题下面的文章了解更多详细内容。

0

2026.01.31

php图片如何上传
php图片如何上传

本合集涵盖PHP图片上传的核心方法、安全处理及常见问题解决方案,适合初学者与进阶开发者。阅读专题下面的文章了解更多详细内容。

2

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号