day12

 

一、请简述集合框架。

集合是单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是java.util.Listjava.util.Set。其中,List的特点是元素有序、元素可重复。Set的特点是元素无序,而且不可重复。List接口的主要实现类有java.util.ArrayListjava.util.LinkedListSet接口的主要实现类有java.util.HashSetjava.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的更多相关文章

  1. AndroidUI的组成部分GridView

    java 代码例如以下(简单的知识点我会以凝视的形式解说): package com.gc.gridviewdemo; /** * @author Android将军 */ /** * 知识点解说: ...

  2. java学习笔记(详细)

    java平台 1.J2SE java开发平台标准版 2.J2EE java开发平台企业版 java程序需要在虚拟机上才可以运行,换言之只要有虚拟机的系统都可以运行java程序.不同系统上要安装对应的虚 ...

  3. 迭代器Iterator与ConcurrentModificationException详解

    背景:一直以来对迭代器的问题理解不是很透彻,特别是迭代器和异常ConcurrentModificationException之间的联系.通过debug,详细了解其底层的具体实现过程. 简介 Itera ...

  4. BUCT20180814邀请赛 Solution

    A:SUM 水. #include<bits/stdc++.h> using namespace std; #define N 100010 typedef long long ll; i ...

  5. 3、RabbitMQ-work queues 工作队列

    work queues 工作队列 1.模型图: 为什么会出现 work queues? 前提:使用 simple 队列的时候 我们应用程序在是使用消息系统的时候,一般生产者 P 生产消息是毫不费力的( ...

  6. AndroidUI组件之AdapterViewFilpper

    package com.gc.adapterviewflipperdemo; /** * 功能:自己主动播放的图片库 * @author Android将军 */ /* * 1.AdapterView ...

  7. AndroidUI组件之ImageSwitcher

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/gc_gongchao/article/details/25594669 今天继续AndroidUI组 ...

随机推荐

  1. [FAQ] pdf 无法导入 adobe AI, 分辨率 or 颜色缺失 or 字体缺失

    属于Adoge软件不支持问题, 可能是分辨率.字体等多种原因. https://www.codebye.com/adobe-reader-or-acrobat-opens-pdf-file-drawi ...

  2. dotnet 将任意时区的 DateTimeOffset 转换为中国时区时间文本

    本文告诉大家在拿到任意时区的 DateTimeOffset 对象,将 DateTimeOffset 转换为使用中国的 +8 时区表示的时间 在开始之前,需要说明的是,采用 DateTimeOffset ...

  3. 手把手教你如何构建 WPF 官方开源框架源代码

    从去年微软就将 WPF 开源了,差不多现在所有 WPF 的源代码都开源了.在学习框架的时候,我会做一些改动,期望能构建一个自己的版本进行测试.但是作为一个特别大的框架,想要构建跑起来可不是直接在 Vi ...

  4. 《Effective C++》第三版-4. 设计与声明(Design and Declarations)

    目录 条款17:让接口容易被正确使用,不易被误用(Make interfaces easy to use correctly and hard to use incorrectly) 限制类型和值 规 ...

  5. JUC并发编程学习笔记(二)Lock锁(重点)

    Lock锁(重点) 传统的synchronized 传统的解决多线程并发导致的一些问题我们会使用synchronized关键字来解决,synchronized的本质就是队列.锁. Lock的实现类有: ...

  6. 拼接sql 参数化 where userId in(@userIds)的问题

    这里@userIds 如果 写成101,202,301翻译后的sql的where部分会是: where userId in('101,202,301'): 而不是期待的: where userId i ...

  7. django中实现Markdown

    分为两个部分: ------------后台使用Markdown编辑 ------------前端使用Markdown展示 准备工作: pip install django-mdeditor # 用于 ...

  8. Django模型层Models的使用步骤

    1.安装pymysql(这里使用MySQL数据库) pip install pymysql 2.在Django的工程同名子目录的__init__.py文件中添加如下语句 from pymysql im ...

  9. Django——form组件之循环生成标签

    from django.contrib import admin from django.urls import path from app01.views import index urlpatte ...

  10. .NETCore Nuget 发布包含静态文件 content file

    .NETCore 在.csproj引用资源中标记pack配置 <pack>true</pack>1例如 <ItemGroup> <Content Includ ...