疯狂Java系列之j集合类

全网最全ebay大数据面经合集 前言 学习群的几个小伙伴和我都有面试ebay 大数据岗位的经历,而且也都拿了offer,我特意抽出了一些时间把问题和部分答案就行了汇总,希望对大家有帮助。 全文篇幅1万字左右,从数据结构到Java再到大数据都有整理,可以先收藏起来,补缺补漏。ebay大数据组也持续招人,要投简历的可以把简历私发到我微信。 小提示:绿色的题代表是简单的,黄色的题代表中等,红色代表有点难度;绿色题回答的很全面,很深入,则有可能比红色的题还难;蓝色的是作为扩展,面试的时候问到的不是很多,能答出来挺好,... 阅读详情

为了存储多个数据,或对象的引用变量

集合类主要负责保存、盛装其他数据,所以也称为容器类。

集合类有两个派生接口:Collection、Map

Collection

   

Collection接口中的方法

Set、List、Queue三种集合都是来自于父接口,所以C的方法可以用来操作三种集合。

boolean add(Object o):向集合中添加元素;

boolean addAll(Collection c):把集合c里所有元素添加到指定集合中;

void clear():清除集合所有元素,集合长度变成0;

boolean contains(Object o):返回该集合中是否包含指定元素;

boolean containsAll(Collectionc):返回集合中是否包含集合c里的所有元素;

boolean isEmpty():返回集合是否为空。为0返回true,否则返回false;

Iterator iterator():返回一个iterator对象,用于遍历集合里的元素;

boolean remove(Objecto):删除集合中的指定元素o,当集合中包含了一个或多个元素o时,只删除第一个符合条件的元素,返回true;

boolean removeAll(Collectionc):删除集合中符合集合c包含的所有元素(从集合中减掉集合c);

boolean retainAll(Collectionc):删除集合中集合c不包含的元素(除集合c外,其他集合都删除,与c集合的交集);

int size():返回集合中元素个数;

Object[] toArray():把集合转换成数组,所有的集合元素变成对应的数组元素;

集合是个容器,提供以上增删清空、判空方法,能够更好理解集合的作用。详细信息参考JavaAPI文档,不用生硬记牢,程序员的记忆都在手边。

示例代码:

package javaCollection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
/**
 * 操作集合方法
 * @author bobo
 */
public class CollectionTest {

	/*
	 * 操作集合方法
	 */
	public static void main(String[] args) {
		//List
		Collection b=new ArrayList();
		Collection c=new ArrayList();
		//添加元素add
		//虽然集合中不能放基本数据类型的值,但是Java支持自动装箱;
		b.add(8);
		b.add("奥特曼");		
		c.add("小怪兽");		
		c.add(8);
		c.add(8);
		c.add(7);
		c.addAll(b);
		
		System.out.println("现在集合中有元素"+c.size()+"个");
		//删除元素
		c.remove(8);
		System.out.println("现在集合中有元素"+c.size()+"个");
		System.out.println("c集合中是否包含“小怪兽”字符串"+c.contains("小怪兽"));
		System.out.println("c集合全部元素"+c);
		System.out.println("=====================分割线=====================");
		//Set
		Collection person=new HashSet();
		person.add("孙悟空");
		person.add("唐三藏");		
		System.out.println("c集合是否包含person集合?"+c.containsAll(person));
		
		person.add("小怪兽");
		c.removeAll(person);
		System.out.println("c集合全部元素"+c);
		System.out.println("=====================分割线=====================");
		c.clear();//清空,长度变为0
		System.out.println("c集合全部元素"+c);
		
		
		//元素的交集
		
				
		c.add("小怪兽");		
		c.add(8);
		c.add(8);
		c.add(7);		
		person.add("小怪兽");
		person.add("孙悟空");
		person.add("唐三藏");		
		person.retainAll(c);//person集合和c集合的交集
		System.out.println("person集合的元素"+person);
		
	}

}

操作集合:

c集合是ArrayList,Person是HashSet,虽然实现类不同,但是都当成Collection来使用

最后的结果如下:


Set(子接口)

代表无序、不可重复的集合;添加进去的数据,不知道元素的顺序,只能通过数据元素本身查找,也就必须保证了元素不能出现重复。

List(子接口)

代表有序、重复的集合;list像是个数组,他记录了每个元素添加进去的顺序,给每个元素一个索引,且list长度可变,所以它里面的数据是可以重复的。

Queue

队列集合的实现,有些类似于List。

 

Map






代表映射关系的集合,Map的实现类中都是保存Key-value 对。Map中的key不可重复,key用于标识集合中每项数据。我们可以通过key值获取map中的数据。



三种类型比较总结




1、set访问,靠元素本身,必须保证不重复;

2、list有索引,像数组,有序且可重复;

3、map是key-value,通过key访问value;




      在集合中,最常用的类有:HashSet、TreeSet和ArrayList、ArrayDeque、LinkedList和HashMap、TreeMap。后面介绍。

以上只是简单介绍集合类中,一些基本的知识,和方法。
疯狂JavaEE系列整合资料 资源包括前端HTML5、CSS、javaScript、以及JAVAEE开发,是李刚老师的疯狂系列 立即下载

相关推荐

疯狂java系列-突破程序员基本功的16课

疯狂Java系列,李刚老师的另一部Java入门神作,有需要的朋友可以下载看看

疯狂java系列_疯狂Java系列之List集合

List集合代表一个有序、可重复的集合,每个元素都有对应顺序的索引。 List继承示意图List接口新增一些方法,针对它的增加、索引、删除、替换等集合元素的方法。代码:package List;import java.util.ArrayList;import java.util.List;public class ListTest {public static void main(String[...

weixin_32012539的博客 865

疯狂系列之疯狂java讲义.zip

疯狂系列之疯狂java讲义.zip 是疯狂java讲义的源码

J集合的最小值(计蒜课 联盟周赛)费马小定理求逆元

n 个数可以选出 2^n - 1 个集合 (集合元素可相同)。 每个集合价值为:集合里最大值乘集合里最小值( max×min )。 求所有集合的价值的和并对 1000000007 取模。 输入格式 第一行有一个正整数 n。 接下来一行 n 个数 s1,s2,s3,s4,⋯,sn 表示集合里的元素 输出格式 每一行一个答案 取模就是取余数 a 模 b (a mod b) 就是 a÷b...

ZCY的博客 695

机器学习篇-KNN算法实现鸢尾花模型和手写数字识别模型

一个样本最相似的k个样本中的大多数属于某一个类别, 则该样本也属于这个类别类似于: 近朱者赤近墨者黑回归机器建模流程:数据获取数据基本处理(空值和非法值)特征工程(特征提取, 特征预处理(归一化, 标准化), 特征降维, 特征选择, 特征组合)模型训练模型预测模型评估# 1. 定义函数 dm01_load_iris(), 用于加载 鸢尾花数据集, 并简单查看下数据集的各部分.# 1. 加载数据集.​# 2. 打印iris_data, 发现其实是1个: 字典.​。

m0_60916732的博客 2404

AI 代码生成工具的质量评估体系

基础需求层包括响应速度(Response Time)和界面友好性(UI Friendliness),期望需求层涵盖智能提示(Smart Suggestions)和个性化配置(Personalization),兴奋需求层则涉及多模态交互(Multimodal Interaction)和代码进化(Code Evolution)。在金融领域,代码审计合规性(Compliance Audit)权重应提升至40%,而在Web开发中,API兼容性(API Compatibility)的权重需达到35%。

2503_92418637的博客 3373

java集合详解

键不能重复,值可以重复,每一个键只能找到自己对应的值。

weixin_51991393的博客 3968

XILINX偶然加载不成功的问题原因及解决方法

本文为明德扬原创文章,转载请注明出处! 一、项目背景 明德扬(MDY)在2021年承担了多个基于XILINX芯片的研发项目,包括VPX网络透明传输项目(芯片为XC7K325T-2FBG900)、某高端测试仪项目(芯片为XCKU060-FFVA1156)、某网闸设备项目(芯片为XC7Z030-FBG676)等,另外,明德扬自研了基于XC7K325T-2FBG900和基于XC7K410T-2FBG900芯片的核心板,在XILINX研发领域拥有丰富的经验。即使拥有丰富经验和积累,每个新项目我们均...

6036

JAVA集合(含List、Map、Set)(超详细版)

java集合可分为Set、List、Queue和Map四种体系。set代表无序、不可重复的集合List代表有序、重复的集合而Map则代表具有映射关系的集合Queue代表一种队列集合实现Java集合就像是一种容器,可以把多个对象(实际上是对象的引用,但习惯上都称对象)“丢进”该容器中。从Java5 增加了泛型以后,Java集合可以记住容器中对象的数据类型,使得编码更加简洁、健壮。2.集合和数组的区别长度区别:数组的长度固定,而集合长度可变。

rc1596919047的博客 2万+

别再只仿真原理图了!用ADS做微带功分器,版图仿真这一步才是关键

本文深入探讨了使用ADS进行微带功分器设计时版图仿真的重要性,指出原理图仿真与版图仿真的本质差异及其对性能的影响。通过详细分析版图效应、关键设置和优化策略,帮助工程师避免常见陷阱,提升设计效率和准确性。文章特别强调了版图仿真在确保微波电路性能中的关键作用。

weixin_42561476的博客 412

看我如何用kali实时截获隔壁"小姐姐"的上网隐私(结尾有彩蛋)

看我如何用kali实时截获隔壁"小姐姐"的手机图片等信息(结尾有彩蛋哦) 首先圈下重点:《刑法》第二百八十五条 【非法侵入计算机信息系统罪;非法获取计算机信息系统数据、非法控制计算机信息系统罪】违反国家规定,侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,处三年以下有期徒刑或者拘役。违反国家规定,侵入前款规定以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或...

SoulCat 2万+

疯狂Java讲义笔记整理

目录 一、基础类型 二、流程控制与数组 三、面向对象 四、基础类库 五、集合 六、泛型 七、异常 八、数据库 九、注释 十、输入输出 十一、网络 十二、类加载机制 十三、多线程 面向对象三大特性:封装、继承、多态 一、基础类型 char, int, short, long, byte, float, double, boolean 基本类型的类型转换(自动与强制、补码,反码与原码) 逻辑运算符(不短路与&,和&&; | 和|| 两个的只执行最少比较,

wui66655的博客 891

基于改进YOLOv5的小目标检测 | 添加CBAM注意机制 + 更换Neck网络之BiFPN + 增加高分辨率检测头

本文针对图像中小目标难以检测的问题,提出了一种基于YOLOv5的改进模型。在主干网络中,加入CBAM注意力模块增强网络特征提取能力;在颈部网络部分,使用BiFPN结构替换PANet结构,强化底层特征利用;在检测头部分,增加高分辨率检测头,改善对于微小目标的检测能力。本文算法在无人机数据集VisDrone2019数据集上进行了多次对比实验,结果表明本文算法可以有效地检测小目标。🌈

小哥谈 2937

java j集合_疯狂Java系列之j集合类

Collection接口中的方法Set、List、Queue三种集合都是来自于父接口,所以C的方法可以用来操作三种集合。boolean add(Object o):向集合中添加元素;boolean addAll(Collection c):把集合c里所有元素添加到指定集合中;void clear():清除集合所有元素,集合长度变成0;boolean contains(Object o):返回该集合...

weixin_39539588的博客 289

选型不再靠感觉:一文看懂 SAP Event Mesh 与 SAP Integration Suite, advanced event mesh 的能力边界

本文对比分析了SAP Event Mesh与SAP Integration Suite, advanced event mesh的差异。SAP Event Mesh适合轻量级场景,主要用于SAP系统间异步通信,支持AMQP、MQTT等协议,消息大小限制为1MB。而advanced event mesh面向企业级事件网络,提供跨云/本地部署、事件治理、监控等高级功能,支持30MB消息和更大存储容量。选择时需考虑业务规模、实时性要求、治理需求等因素:单一SAP生态内扩展可选Event Mesh;跨区域、多云环境

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 133

uniapp:解决微信小程序包体积超过2M的优化方案+详解分包问题,编译小程序体积大于2M不能上传和预览提示体积太大的处理教程,uniApp微信小程序主包过大问题如何解决(排查可疑点+分包+最小改动)

uniapp微信小程序开发,如何解决打包太大无法预览发布的问题,uniApp微信小程序包体积超过2M的优化方法,uni-app打包微信小程序主包超2M终极解决方案,使用uniapp开发微信小程序使用uni_modules导致主包文件过大,无法发布的解决方法,UniApp开发的微信小程序主包过大问题及解决方案 编译小程序时Node-modules被打入主包,小程序体积大于2M不能上传和预览,怎么处理,解决微信小程序主包太大问题,微信小程序中主包和分包过大,详解分包问题,uni-app 微信小程序发布时,主包超

✅ 精选推荐文章 5066

天呐!价值2980元Java成神面试题竟在Github开源了

概述 作为一名Java开发者,你有Java知识系统的结构体系吗?在面试中,你是否可以不用想就可以流畅的回复出来,还是需要大脑疯狂运转,一紧张,都忘记了;这是Java面试中很容易出现情况,那么你还不动手整理一下Java的系统知识吗? 今天毫不吝啬地将整理半年的Java系统学习笔记给大家分享一下(下面是目录分享,每个版块都是有Xmind的): Java基础的思维导图 当然不止有一份,还有一份Java工程师成神之路笔记的分享(面向对象、JAVA语言基础等),下面有学习目录的展示: Java工程师

如果频繁就私信一下呢 169

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

阿里java面_阿里Java后台开发面经

最近原来实习时候的Boss联系我,说他跳槽到了阿里,问我有没有兴趣面一个Java后台开发岗位。考虑到我只工作了一年,现在去阿里肯定要降薪,因此也没有太强烈的意愿。但出于提升自我的角度考虑,参加了面试。一面(电话面试一小时)首先做一个简单的自我介绍,主要包括学校经历和工作经历。我工作经历只有一年,大部分时间都是在做产品设计和UI/UX Design,因此隔着电话都能感受到面试官的shock。Java...

weixin_34961316的博客 474

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

疯狂Java学习笔记(59)-----------50道Java线程面试题

疯狂Java学习笔记(59)-----------50道Java线程面试题50道Java线程面试题  下面是Java线程相关的热门面试题,你可以用它来好好准备面试。1) 什么是线程?  线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线...

Bruce小鬼 869

全网最全的的java大数据面试题

前言 学习群的几个小伙伴和我都有面试ebay 大数据岗位的经历,而且也都拿了offer,我特意抽出了一些时间把问题和部分答案就行了汇总,希望对大家有帮助。 全文篇幅1万字左右,从数据结构到Java再到大数据都有整理,可以先收藏起来,补缺补漏。ebay大数据组也持续招人。 一、 java基础 1、 Queue 和Stack你平时有用过么,说说你常用的方法,他们的却别在哪呢? 2、 了解java的异常吗,有什么区别,常见的异常有哪些呢? 3、 两个字面值相同的Integer,它们两个用等于号去.

m0_68850571的博客 2329

JAVA程序员的成长之路《基础篇》

先介绍一下自己吧,昵称盲目的拾荒者,所有开放平台我的昵称都是盲目的拾荒者,很喜欢这个名字也喜欢这个头像,之前女朋友多次让我换情侣头像,因为对于现在这个头像格外的喜欢,总是以各种理由拒绝她换头像,头像的来源是大学舍友用当时一款比较火的软件做,我相信大家也都用过这个软件,因为头像和我个人的气质比较相符,长头发戴着眼镜然后手中还抱着吉他,一个被音乐耽误的程序员。上大学的时候,确实很喜欢音...

盲目的拾荒者的博客 1445

精心整理的ebay大数据面试题(全)

前言学习群的几个小伙伴和我都有面试ebay 大数据岗位的经历,而且也都拿了offer,我特意抽出了一些时间把问题和部分答案就行了汇总,希望对大家有帮助。全文篇幅1万字左右,从数据结构到J...

a934079371的博客 3640

【Java八股文之进阶篇(五)】多线程编程核心之并发容器

并发容器

Kplusone的博客 780

耗时两周,阿里高级工程师吐血整理的2021年Java学习路线图

耗时两周,阿里高级工程师吐血整理的2021年Java学习路线图 最近,收到一些网友的私信,问我零基础如何学习Java。 入门级学习Java的最佳学习方式,毫无疑问是学习+练习+复盘总结。 学习的方式有很多种:视频教程、书籍、干货文章、学习网站... 练习的方式:教程的配套练习题、用刷题软件、尝试做项目... 网上能找到的资料太多太杂,整理起来也需要花费大量的时间和精力,学习起来毫无头绪。 不卖关子...

九章算法的博客 490

美丽联合2017校招笔试题复盘:算法、Java与电商场景设计

在技术校招中,算法、Java基础和数据库优化是衡量候选人的核心标尺,而电商业务场景则进一步检验知识落地能力。从数据结构与动态规划的基本功,到并发编程中的锁升级与JVM内存模型,再到MySQL索引优化和秒杀、购物车等经典设计题,这些知识不仅是笔试考点,更是高并发交易系统的技术基石。理解集合类线程安全、SQL慢查询分析、分布式库存扣减等原理,能帮助开发者应对真实业务挑战。本文以美丽联合2017校园招聘笔试题为例,系统拆解各类题型的考察逻辑,复盘备考路径与常见误区,为准备电商公司技术岗的读者提供高价值的参考思路。

weixin_34161029的博客 408

大数据面试

适合应届生的大数据面试题 **一、 java基础** 1、 Queue和Stack你平时有用过么,说说你常用的方法,他们的却别在哪呢? 2、 了解java的异常吗,有什么区别,常见的异常有哪些呢? 3、 两个字面值相同的Integer,它们两个用等于号去比较,结果是true还是false?(这个题要分两部分去回答,结果可能为true,也可能为false。因为有缓存) 4、 可以讲一下你常用的集合类么?他们的实现类有哪些? 5、 Ar

qq_44385031的博客 803
上一篇: J2SE系列之递归
下一篇: 疯狂Java系列之集合和iterator接口
mayfla
博客等级 码龄14年 312粉丝 191原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值