work12
day12
一、请简述集合框架。
集合是单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是java.util.List和java.util.Set。其中,List的特点是元素有序、元素可重复。Set的特点是元素无序,而且不可重复。List接口的主要实现类有java.util.ArrayList和java.util.LinkedList,Set接口的主要实现类有java.util.HashSet和java.util.TreeSet。

二、给定以下代码,请定义方法listTest()统计集合中指定元素出现的次数,如"a": 2,“b”: 2,"c" :1, “xxx”:0。

package com.ben.www; import java.util.ArrayList;
import java.util.List; public class Demo2 {
static void listTest(List<String> arrayList,String val){
int a=0;
for (String list:arrayList) {
if (list.equals(val)){
a++;
} }
System.out.println(val+":"+a);
}
public static void main(String[] args) {
List<String> list=new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("a");
list.add("d");
list.add("e");
list.add("b");
list.add("a");
list.add("c");
list.add("xxx");
list.add("a");
list.add("b");
list.add("c");
list.add("xxx");
listTest(list,"a");
listTest(list,"b");
listTest(list,"c");
listTest(list,"xxx");
} }

三、定义一个方法,要求此方法把int数组转成存有相同元素的集合(集合里面的元素是Integer),并返回。

package com.ben.www; import java.util.ArrayList;
import java.util.List; public class Demo3 {
static ArrayList zhuan(int[] list){
ArrayList<Integer> arr1=new ArrayList<Integer>();
for (Integer val:list) {
arr1.add(val);
}
return arr1; }
public static void main(String[] args) {
int[] arr= {1,5,3,6,73,4};
System.out.println(zhuan(arr)); }
}

四、定义一个集合,并把集合(集合里面的元素是Integer)转成存有相同元素的数组,并将结果输出在控制台。(可以使用Object[]数组类型接收转换的数组)

package com.ben.www;
import java.util.ArrayList;
public class Demo4 {
public static void main(String[] args) {
Integer[] arr={1,54,3,6,1,46,57};
ArrayList<Object> arrlist=new ArrayList<Object>();
for (Integer arr1:arr
) {
arrlist.add(arr1);
}
System.out.println(arrlist);
}
}

五、定义一个方法listTest(ArrayList al, String s),要求使用contains()方法判断al集合里面是否包含s。

package com.ben.www;
import java.util.ArrayList;
public class Demo5 {
static boolean listTest(ArrayList a1, String s){
return a1.contains(s);
}
public static void main(String[] args) {
ArrayList a1=new ArrayList();
a1.add("a");
a1.add("r");
a1.add("e");
a1.add("s");
a1.add("w");
if (listTest(a1,"ss") == true) {
System.out.println("包含有");
}else {
System.out.println("没有包含");
}
}
}

六、请简述迭代器的实现原理

package com.ben.www;
public class Demo6 {
/*
* 在Java中遍历List时会用到Java提供的Iterator,Iterator十分好用,原因是:
迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。
Java中的Iterator功能比较简单,并且只能单向移动:
(1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。
(2) 使用next()获得序列中的下一个元素。
(3) 使用hasNext()检查序列中是否还有元素。
(4) 使用remove()将迭代器新返回的元素删除。
* */
}

七、定义一个方法listTest(ArrayList al, Integer s),要求返回s在al里面第一次出现的索引,如果s没出现过返回-1。

package com.ben.www;
import java.util.ArrayList;
public class Demo7 {
static int listTest(ArrayList a1, Integer s){
return a1.indexOf(s);
}
public static void main(String[] args) {
ArrayList arr=new ArrayList();
arr.add(3);
arr.add(5);
arr.add(6);
arr.add(1);
arr.add(7);
System.out.println(listTest(arr,11));
}
}

work12的更多相关文章
- AndroidUI的组成部分GridView
java 代码例如以下(简单的知识点我会以凝视的形式解说): package com.gc.gridviewdemo; /** * @author Android将军 */ /** * 知识点解说: ...
- java学习笔记(详细)
java平台 1.J2SE java开发平台标准版 2.J2EE java开发平台企业版 java程序需要在虚拟机上才可以运行,换言之只要有虚拟机的系统都可以运行java程序.不同系统上要安装对应的虚 ...
- 迭代器Iterator与ConcurrentModificationException详解
背景:一直以来对迭代器的问题理解不是很透彻,特别是迭代器和异常ConcurrentModificationException之间的联系.通过debug,详细了解其底层的具体实现过程. 简介 Itera ...
- BUCT20180814邀请赛 Solution
A:SUM 水. #include<bits/stdc++.h> using namespace std; #define N 100010 typedef long long ll; i ...
- 3、RabbitMQ-work queues 工作队列
work queues 工作队列 1.模型图: 为什么会出现 work queues? 前提:使用 simple 队列的时候 我们应用程序在是使用消息系统的时候,一般生产者 P 生产消息是毫不费力的( ...
- AndroidUI组件之AdapterViewFilpper
package com.gc.adapterviewflipperdemo; /** * 功能:自己主动播放的图片库 * @author Android将军 */ /* * 1.AdapterView ...
- AndroidUI组件之ImageSwitcher
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/gc_gongchao/article/details/25594669 今天继续AndroidUI组 ...
随机推荐
- 模拟IDC spark读写MaxCompute实践
简介: 现有湖仓一体架构是以 MaxCompute 为中心读写 Hadoop 集群数据,有些线下 IDC 场景,客户不愿意对公网暴露集群内部信息,需要从 Hadoop 集群发起访问云上的数据.本文以 ...
- 阿里开源支持10万亿模型的自研分布式训练框架EPL(EasyParallelLibrary)
简介:EPL背后的技术框架是如何设计的?开发者可以怎么使用EPL?EPL未来有哪些规划?今天一起来深入了解. 作者 | 王林.飒洋 来源 | 阿里技术公众号 一 导读 最近阿里云机器学习PAI平 ...
- [GPT] 用 document.querySelector('.xxx') 选择下级的第二个 div 要怎么写
要选择类名为 .xxx 的元素下的第二个子<div>元素,可以将 querySelectorAll()方法与CSS选择器一起使用. 以下是一个示例: const secondChild ...
- IIncrementalGenerator 增量 Source Generator 生成代码入门 从语法到语义 获取类型完全限定名
本文告诉大家如何在使用 IIncrementalGenerator 进行增量的 Source Generator 生成代码时,如何从语法分析过程,将获取的语法 Token 转换到语义分析上,比如获取类 ...
- VisualStudio 如何快速添加一个 Git Tag 推送
在 VisualStudio 的团队管理功能,提供了方便的添加 Tag 的方法,可以新建一个 Tag 添加 Tag 信息,同时推送某个特定的 Tag 到服务器.配合推 Tag 打包 NuGet 的方法 ...
- 3种方式自动化控制APP
自动化控制APP不管是在工作还是生活方面,都可以帮助我们高效地完成任务,节省时间和精力.本文主要介绍自动化控制APP的3种常用方式. 1.Python + adb 这种方式需要对Android有一些基 ...
- 实验8 #第8章 Verilog有限状态机设计-3 #Verilog #Quartus #modelsim
3. 状态机A/D采样控制电路 3.1 目标:用状态机控制ADC0809实现数据采集. 3.2 ADC0809简介 (1)ADC0809是8位A/D转换器,片内有8路模拟开关,可控制8个 模拟量中 的 ...
- 用Multisim验证简易测谎仪
用Multisim验证简易测谎仪 测谎仪电路如下图所示: 节点1,2之间用10M欧的电位计代表人体表电阻,原理是撒谎出汗的话,体表电阻就小.Q1,Q2构成互补音频振荡器,振荡频率由R2.C1和R12共 ...
- 一个随时更新的js库
1.src同级建commFunction=>timer.js 2.main.js引入 import time from '../commonFunction/time' Vue.prototyp ...
- linux服务器配置查看
查看linux服务器配置 查硬盘信息 sblk 看sda sdb sdc之类的 以下可以看出是500G sda第一块,sdb是第二块 以下可以看出是 1T+100G 查内存 free -h 查cpu ...