泛型的定义: 在类定义的时候给定一个类型

Public class Point<T>   给定一个不确定的类型,当类实例化的时候或者使用的时候给定一个确定的类型,则别的数据类型就不能使用了

Point<String> p=new Point(); 说明这个类 现在只能存放String

Point<Integer> p=new Point(); 只能存放Integer

泛型的类型不能是基本数据类型

集合:

为了解决数据存储的问题,JDK完成的一套数据结构,在开发中肯定会使用数组,但是数组长度是个问题 一旦声明长度不可改变

集合就是一套动态对象数组  public final Object[] value;

顺序集合:

Collection 最大的父接口

List   特点: 有序 可重复          本身也是接口                     Set  不可重复

使用以上接口,则必须实例化该接口的实现类:

List :  ArryList   Vector   LinkedList

ArrayList  Vector 的区别?

ArrayList 异步处理 ,非线程安全  效率高  新的类

Vector   同步处理, 线程安全    效率低  老的类

LinkedList 特点: 实现的方式是基于链表,在进行数据插入 和删除的时候很方便, 但是查询效率不高

ArrayList 特点: 基于数组开发的,在进行数据插入的时候由于在中间部分 效率很低(要移动数据) 但是查询效率很高

Set:  TreeSet   HashSet

TreeSet  有序的  不可重复的集合

通过 comparable接口中的 comparTo()方法完成的排序,该方法返回 3个值 1 -1   0

HashSet 无序的 不可重复的集合

通过哈希表完成的数据存储,每个对象都会生成一个HashCode 对应哈希表中索引,根据Hashcode随机分配

根据对象中equals方法来判断集合中的内容是否重复

注意: 使用自定义类型的时候,一般来说要实现 Comparble接口,hashCode 和equals方法

循环链表:

Node1 node2 node3--->  node1

击鼓传花

package org.node;

public class Game {

//实例化链表存储游戏的人数

LinkList   list=new LinkList();

int num; //总人数

int key; // 数到几退出

// 初始化游戏的方法

public Game(int num,int key) {

this.num=num;

this.key=key;

}

public void play()throws Exception{

for(int i=0;i<num;i++) {  //把游戏人数增加到链表中

list.add(i, i);

}

System.out.println("-----------游戏开始之前------------------");

for(int i=0;i<list.size;i++) {

System.out.print(list.get(i));

}

System.out.println("------------------游戏开始------------------------");

int jCount=num; //开始人数 等于总人数

int j=0; //累加器

Node node=list.head; //把一个头节点赋值给一个节点

while(jCount!=1) {

if(node.getElement()!=null&&Integer.parseInt(node.getElement().toString())!=-1) {

j++;

if(j%key==0) {

node.setElement(-1);

jCount--;

System.out.println();

for(int i=0;i<list.size;i++) {

System.out.print(list.get(i)+" ");

}

}

}

node=node.next;

}

System.out.println("---------游戏结束了------------------------");

for(int i=0;i<list.size;i++) {

System.out.print(list.get(i)+" ");

}

}

public static void main(String[] args) throws Exception {

Game g=new Game(10, 3);

g.play();

}

}

JAVA复习5(总结+循环链表)相关推荐

  1. 合肥师范学院计算机与技术,合肥师范学院计算机科学与技术系JAVA复习提纲

    合肥师范学院计算机科学与技术系JAVA复习提纲 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 一. 选择题(10题,20分)二. 填空 ...

  2. 调整心态,java复习要点总结。

    各位好,博主认为调整好心态是一切事情开始的良好基础.无论做任何事情,没有一个沉淀的情绪积累,都不能做到很成功.当完全融入一件事情的时候,学习效率是最高的.所以朋友,请您一定放松心态,不要有紧张的情绪. ...

  3. Java复习之抽象类和接口

    Java复习之抽象类和接口 Java复习之抽象类和接口 什么是抽象类和接口 抽象类与接口的区别 什么情况下使用抽象类或接口 一个demo引起来的对于java方法区堆栈的研究 首先我们需要明白抽象类与接 ...

  4. Java复习打卡day40

    Java复习打卡day40 XML DOM 介绍 实现节点的遍历 实现节点的删除 属性的操作 创建节点 节点的复制 节点的替换 select对象 table对象 XML DOM 介绍 1.基本介绍: ...

  5. java复习第3天---3.1---final关键字、权限修饰符

    java复习第3天---3.1---final关键字.权限修饰符 目录 文章目录 1.final 关键字 1.1.修饰类 1.2.修饰成员方法 1.3.修饰成员变量 1.4.修饰局部变量 2.权限修饰 ...

  6. Java复习打卡day30

    Java复习打卡day30 前置 前置导学 HTML语言 HTML介绍 HTML语言的基础语法 常见标签 文本标签 格式化标签 图像标签 超链接标签 表格标签 表单标签 前置 前面我们主要讲述了Jav ...

  7. Java复习打卡day47

    Java复习打卡day47 Mac系统中安装mysql数据库 MySql基础操作 Mysql中的数据类型 Mysql中的字段约束和运算符 Mysql数据库中的表引擎和字符集utf8 Mysql中的DM ...

  8. 中国海洋大学-信息系统开发(Java)复习

    Java复习 OUC_Shizue 1 Java编译器和执行器 Java编译器和执行器是Java语言的两个核心组件,分别用于将Java源代码编译成Java字节码文件和运行Java字节码文件. Java ...

  9. Java复习面试知识点

    Java复习面试知识点 前言: 简要的记录一下学习到的东西,仅供自己查阅和复习方便.希望该文章能对你有帮助,文章学习自博客和b站UP主的教程 集合: 集合简介: Java标准库自带的java.util ...

  10. JAVA复习系列(一)

    ** JAVA复习系列(一) 文章目录 JAVA复习系列(一) 1.1 Java入门(基础概念与常识) 1.1.1Java语言的特点 1.1.2 JVM,JDK,JRE的关系 1.1.2.1 JVM( ...

最新文章

  1. 图神经网络的解释性综述!
  2. 手机全部零件名称图片_机械制图零件测绘
  3. Nginx代理、负载均衡
  4. Fail to connect to camera service的几种原因和解决方法
  5. ieee5节点系统图_存储系统的的关键技术之自精简技术
  6. 社群数据分析:你运营的社群是好社群吗?
  7. SQL Server 2012笔记分享-42:SQL Server Agent服务配置建议
  8. Build Apache Module
  9. String的replaceAll方法中的正则表达式用法
  10. 飞桨PaddleHub带你环游世界,快来试试Python一键视频抠图吧
  11. python下载网页中的pdf文件_Python下载PDF嵌入页面
  12. 小米路由器显示DNS服务器设置错误,小米路由器dns异常怎么修复
  13. 三大框架之---MyBaits第二章
  14. iframe标签使用
  15. 如何制作电话号码二维码?
  16. 清华大学c语言程序设计期末试卷,清华大学出版社C语言程序设计习题.doc
  17. 中国省市区--地区SQL表
  18. 使用 VSCode 编辑器来编译 Sass,自动生成对应的css
  19. 选择什么样的Linux操作系统好?
  20. 复现上篇文章故障得知:网卡错误56,Windows 仍在设置此设备的类配置的原因

热门文章

  1. Angular html 页面里的井号 #
  2. 使用 SAP Business Application Studio 搭建 CAP Java 开发环境
  3. Angular 依赖注入 UseClass 和 UseExisting 的区别
  4. 我的工作日志 - 2020年9月29日 星期二 晴
  5. 基于CDS view自动生成的OData服务,是如何实现read操作的
  6. escape in ABAP and JavaScript
  7. 如何在Hybris Backoffice里创建customer coupon
  8. TemplateComponent.setContainer Component runAsOwner getStable ID and xml view creation
  9. Hybris订单价格的折扣维护
  10. SAP CRM Product workflow debug