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组 ...
随机推荐
- 客户端单元测试实践——C++篇
简介: 我们团队在手淘中主要负责BehaviX模块,代码主要是一些逻辑功能,很少涉及到UI,为了减少双端不一致问题.提高性能,我们采用了将核心代码C++化的策略.由于团队项目偏底层,测试同学难以完全覆 ...
- 团队管理|如何提高技术Leader的思考技巧?
简介: 技术Leader是一个对综合素质要求非常高的岗位,不仅要有解具体技术问题的架构能力,还要具备团队管理的能力,更需要引领方向带领团队/平台穿越迷茫进阶到下一个境界的能力.所以通常来说技术Lead ...
- Fluid 0.5 版本发布:开启数据集缓存在线弹性扩缩容之路
简介: 为了解决大数据.AI 等数据密集型应用在云原生场景下,面临的异构数据源访问复杂.存算分离 I/O 速度慢.场景感知弱调度低效等痛点问题,南京大学PASALab.阿里巴巴.Alluxio 在 2 ...
- 超级好用的 HBase GUI 工具分享
超级好用的 HBase GUI 工具分享 你是否曾为 HBase 数据管理而苦恼?别担心,这一款超级好用的 HBase GUI (HBase Assistant)工具,让您在大数据世界中游刃有余.不再 ...
- java 高并发下超购问题解决
//@desc:java 高并发下锁机制初探 //@desc:码字不宜,转载请注明出处 //@author:张慧源 <turing_zhy@163.com> //@date:2021/1 ...
- Lock、Monitor线程锁
Lock.Monitor线程锁 官网使用 https://learn.microsoft.com/zh-cn/dotnet/api/system.threading.monitor?view=net- ...
- 学会使用 NumPy:基础、随机、ufunc 和练习测试
NumPy NumPy 是一个用于处理数组的 Python 库.它代表"Numerical Python". 基本 随机 ufunc 通过测验测试学习 检验您对 NumPy 的掌握 ...
- windows系统桌面壁纸切换的三种csharp办法,兼容win10及旧版,还有一个现成桌面小程序
我自己用这些代码做的小app如下: 最新版本已经改成了服务的方式,也可以选择性添加系统的右键菜单,并且我自己使用的源码库已经开源到了nuget,大家可以直接拿来做二次开发, 新版的下载地址为:http ...
- LogAgen的工作流程
LogAgen的工作流程: 一.读日志 --tailf 第三方库 新建tail_test/main.go package main import ( "fmt" "git ...
- 纯JS实现多张图片无缝滚动和多张图片上下滚动的效果--JavaScript实例集锦(初学)
我们会看到很多的网站上会使用多张图片无缝滚动的效果. 下面我就介绍几种纯JS实现多张图片的无缝滚动,并实现鼠标移到图片上运动停止的效果,可以控制图片左右滚动.1.效果展示: 代码实现: <!DO ...