文章目录

  • 1.测试ArrayList和LinkedList存储,查询效率
  • 2.使用LinkedList实现自定义栈和队列功能的类,提供添加,获取元素的方法.
  • 3.定义一个String类型的ArrayList集合,去除ArrayList中的重复元素。
  • 4.已知有十六支男子足球队参加2008 北京奥运会。 写一个程序,把这16 支球队随机分为4 个组,每组4只球队。采用List集合和随机数

1.测试ArrayList和LinkedList存储,查询效率

package com.boyi.itLianXi.collection;import java.util.ArrayList;
import java.util.LinkedList;public class CharuZengjia {public static void main(String[] args) {/**测试插入耗时*/ArrayList<Integer> arrayListInsert=new ArrayList<>();LinkedList<Integer> linkedListInsert=new LinkedList<>();for (int i = 0; i < 100000; i++) {arrayListInsert.add(i);linkedListInsert.add(i);}//ArrayList插入测试Long arrayStart=System.currentTimeMillis();for (int i = 0; i < 100000; i++) {arrayListInsert.add(1000,1);}Long arrayEnd=System.currentTimeMillis();System.out.println("ArrayList插入的时间"+(arrayEnd-arrayStart)+"毫秒");//LinkedList插入测试Long linkedStart=System.currentTimeMillis();for (int i = 0; i < 100000; i++) {linkedListInsert.add(1000,1);}Long linkedEnd=System.currentTimeMillis();System.out.println("ArrayList插入的时间"+(linkedEnd-linkedStart)+"毫秒");System.out.println("---------------------------");/**测试查询耗时*/ArrayList<Integer> arrayListFind=new ArrayList<>();LinkedList<Integer> linkedListFind=new LinkedList<>();for (int i = 0; i < 100000; i++) {arrayListFind.add(i);linkedListFind.add(i);}//测试ArrayList查询耗时Long arrayListFindStart = System.currentTimeMillis();for (int i = 0; i < 100000; i++) {arrayListFind.get(10000);}Long arrayListFindEnd = System.currentTimeMillis();System.out.println("ArrayList查询耗时为"+(arrayListFindEnd-arrayListFindStart )+"毫秒");//测试linkedList查询耗时long linkedListFindStart = System.currentTimeMillis();for(int i=0;i<100000; i++){linkedListFind.get(10000);}long linkedListFindEnd = System.currentTimeMillis();System.out.println("LinkedList查询耗时为"+(linkedListFindEnd-linkedListFindStart)+"毫秒");}
}

运行结果:

2.使用LinkedList实现自定义栈和队列功能的类,提供添加,获取元素的方法.

package com.boyi.itLianXi.collection;import java.util.LinkedList;/*
*Lifo:先进后出
* 堆
*/
public class useLinkedListAsLifo {public static void main(String[] args) {LinkedList stack=new LinkedList();stack.push("1");stack.push("2");stack.push("3");stack.push("4");stack.push("5");//打印栈元素System.out.println(stack);//删除栈顶元素%弹出zhandingyuansuSystem.out.println(stack.pop());//检测栈顶元素System.out.println(stack.peek());//打印栈元素System.out.println(stack);}
}

运行结果:

package com.boyi.itLianXi.collection;
/*
*先进先出
* 队
*/
import java.util.LinkedList;public class useLinkedListAsfifo {public static void main(String[] args) {LinkedList queue=new LinkedList();queue.add(1);queue.add(2);queue.add(3);queue.add(4);queue.add(5);System.out.println(queue);System.out.println(queue.remove());System.out.println(queue.element());System.out.println(queue);}
}

运行结果:

3.定义一个String类型的ArrayList集合,去除ArrayList中的重复元素。

package com.boyi.itLianXi.collection;import java.util.ArrayList;
import java.util.Iterator;public class arrayListRemove {public static void main(String[] args) {ArrayList<String>  a=new ArrayList<>();a.add("I");a.add("I");a.add("Like");a.add("I");a.add("Freedom");a.add("I");a.add("Freedom");a.add("Love");for (int i = 0; i < a.size(); i++) {for (int j = i+1; j < a.size(); j++) {if(a.get(i).equals(a.get(j))){a.remove(j);j--;}}}Iterator it=a.iterator();while(it.hasNext()){String s=(String)it.next();System.out.println(s);}}
}

运行结果;

4.已知有十六支男子足球队参加2008 北京奥运会。 写一个程序,把这16 支球队随机分为4 个组,每组4只球队。采用List集合和随机数

 2008 北京奥运会男足参赛国家: 科特迪瓦,阿根廷,澳大利亚,塞尔维亚, 荷兰,尼日利亚,日本,美国,中国,新西兰,巴西,比利时,韩国,喀麦隆,洪都拉斯,意大利.
package com.boyi.itLianXi.collection;
/*
* 科特迪瓦,阿根廷,澳大利亚,塞尔维亚,荷兰,尼日利亚,日本,美国,中国,新西兰,巴西,比利时,韩国,喀麦隆,洪都拉斯,意大利.
* */
import java.util.ArrayList;
import java.util.List;
import java.util.Random;public class Football {public static void main(String[] args) {String s0;List<String> ls=new ArrayList<>();ls.add("科特迪瓦");ls.add("阿根廷");ls.add("澳大利亚");ls.add("塞尔维亚");ls.add("荷兰");ls.add("尼日利亚");ls.add("日本");ls.add("美国");ls.add("中国");ls.add("新西兰");ls.add("巴西");ls.add("比利时");ls.add("韩国");ls.add("柯麦隆");ls.add("洪都拉斯");ls.add("意大利");Random rd=new Random();for(int i=0;i<4;i++){System.out.println(i+"组:");for (int j = 0; j < 4; j++) {s0=ls.get(rd.nextInt(ls.size()));System.out.print("  "+s0);ls.remove(s0);}System.out.println();}}
}

运行结果:

Java集合(Collection)习题集锦相关推荐

  1. Java集合Collection接口中的常用方法演示

    Java集合Collection接口中的常用方法演示 添加 add(Objec tobj) 和 addAll(Collection coll) 获取有效元素的个数 int size() 清空集合 vo ...

  2. Java集合Collection与List的关系、常见用法

    关系树 [java] view plain copy print? ---|Collection: 单列集合 ---|List: 有存储顺序, 可重复 ---|ArrayList: 数组实现, 查找快 ...

  3. java 先进先出的map_「 深入浅出 」java集合Collection和Map

    本系列文章主要对java集合的框架进行一个深入浅出的介绍,使大家对java集合有个深入的理解. 本篇文章主要具体介绍了Collection接口,Map接口以及Collection接口的三个子接口Set ...

  4. Java 集合Collection常见知识点汇总~

    看了一些所谓大公司的JAVA面试问题,发现对于JAVA集合类的使用都比较看重似的,而自己在这方面还真的是所真甚少,抽空也学习学习吧. java.util包中包含了一系列重要的集合类,而对于集合类,主要 ...

  5. Java集合 Collection

    Jdk提供了一些特殊的类,用来保存数量不确定的对象,存储任意类型对象,长度可变.这些类统称为集合. 集合类位于Java.util包中,按存储结构分为Collection单列集合和Map双列集合. Co ...

  6. Java—一篇读懂java集合(Collection/Map)及Lambda表达式

    集合简介   在集合类之前,我们使用数组存储,数组既可以存储基本数据类型的值,也可以存储对象(对象的引用变量),但是集合只能存储对象.   Java集合类似于一种容器,将同类型的对象(实际为对象引用) ...

  7. Java 集合 Collection、Iterator

    Java集合分为Set(无序.不可重复).List(有序.重复).Queue(队列)和Map(映射关系) Java集合概述 数组元素既可以是基本类型的值,也可以是对象(实际保存对象的引用变量) 集合只 ...

  8. Java集合Collection源码系列-ArrayList源码分析

    Java集合系列-ArrayList源码分析 文章目录 Java集合系列-ArrayList源码分析 前言 一.为什么想去分析ArrayList源码? 二.源码分析 1.宏观上分析List 2.方法汇 ...

  9. Java集合---Collection接口的常用方法

    Collection常用方法 size() 功能说明 返回当前集合中元素的总数量 代码实现 import java.util.ArrayList; import java.util.Collectio ...

  10. java集合Collection

    文章目录 ==Collection集合== Collection概述 Collection集合常用方法 Collection集合的遍历之iterator 概述 Iterator中的常用方法 集合使用步 ...

最新文章

  1. 海南大学2020年申请考核博士研究生招生工作办法
  2. Java SE 第十六讲----面向对象特征之继承
  3. C#趣味程序---真分数序列
  4. C语言试题八十二之输入小写字母,把小写字母转换成大写字母。
  5. xilinx7中管脚mrcc和srcc_Xilinx 7系列FPGA架构之SelectIO结构(一)
  6. 提取javadoc_使用JavaParser从源文件中提取JavaDoc文档
  7. 496. 下一个更大元素 I/503. 下一个更大元素 II/739. 每日温度
  8. 萌新的Python练习菜鸟100例(十五)利用条件运算符的嵌套来完成此题:学习成绩=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
  9. LintCode_514 Paint Fence
  10. Spring Boot 2.x 集成 Quartz 定时器 jdbc 持久化、配置集群
  11. 小米范工具系列之一:小米范 web查找器
  12. SqlHelper的封装
  13. 解决contenteditable内自动生成font标签问题
  14. Linux使用代理服务器上网
  15. 如何将两张图片合成一张图片
  16. SLT2021: CONVERSATIONAL END-TO-END TTS FOR VOICE AGENTS
  17. 【惊】手机将走向末路,混合现实(MR)难道就是5G时代的方向
  18. 医疗器械小程序或手机APP软件开发方案
  19. word的小方框如何在里面打上对勾
  20. 基于DCNN的xception模型

热门文章

  1. 基于osp平台和Echarts的折线图案例
  2. php5.3 发送邮件phpemail的使用 (适用php5.3)
  3. mysql doesnt have a default value_导入mysql数据的时候提示Field * doesn't have a default value解决方法...
  4. 高阶数据结构 —— 红黑树(较平衡搜索树)
  5. 了解计算机的组成和硬件系统
  6. MySQL中关于JOIN的用法全解
  7. Web前端期末大作业--响应式网络科技公司网页设计(IT网络主题-HTML+CSS+JavaScript)实现
  8. 计组 | 算数移位及其移位后的空位添补规则
  9. mysql查找三个年龄最大的人_mysql 查寻重复姓名且年龄最大的列表 - count
  10. 20172323 2017-2018-2 《程序设计与数据结构》第九周学习总结