当前位置: 首页 > news >正文

4.1学习总结 拼图小游戏+集合进阶

图形化界面:GUI

创建一个新界面:

模板:

import javax.swing.*;
public class test {public static void main(String[] args) {//创建一个主界面JFrame gameJframe = new JFrame();gameJframe.setSize(580,600);//设置大小先宽后高。gameJframe.setVisible(true);//设置窗口可见//true可见,false不可见。}
}

添加图片。

黑框下的电影查询系统

电影定义

public class movie {private int id;private String name;private String actor;public movie(int id,String name,String actor) {this.id = id;this.name = name;this.actor = actor;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getActor() {return actor;}public void setActor(String actor) {this.actor = actor;}
}

界面设计

public class movieoperator {private movie[] movies;public movieoperator(movie[] movies){this.movies=movies;}public void findAllmovie(){for(int i=0;i<movies.length;i++){movie m=movies[i];System.out.println("电影编号是:"+m.getId());System.out.println("电影名称是:"+m.getName());}}public void findbyid(int id){for(int i=0;i<movies.length;i++){movie m=movies[i];if(m.getId()==id){System.out.println("电影编号是:"+m.getId());System.out.println("电影名称是:"+m.getName());System.out.println("电影演员是:"+m.getActor());return;}}System.out.println("没有找到该电影");}
}

运行

import java.util.Scanner;
// 定义 Movie 类public class system{public static void main(String[]args){System.out.println("---欢迎来到电影管理系统---");System.out.println("操作功能请选择1、2或者3");System.out.println("1.查询所有电影");System.out.println("2.根据电影编号查询电影");System.out.println("3.退出系统");movie[] movies = {new movie(1, "血观音", "文淇"),new movie(2, "风犬少年的天空", "张婧仪"),new movie(3, "我要我们在一起", "张婧仪")};Scanner sc = new Scanner(System.in);movieoperator mo = new movieoperator(movies);while(true){System.out.println("请输入您的选择:");int choice = sc.nextInt();if(choice==1){mo.findAllmovie();}else if(choice==2){System.out.println("请输入电影编号:");int id = sc.nextInt();mo.findbyid(id);}else if(choice==3){System.out.println("感谢您的使用,再见!");break;}else{System.out.println("您的输入有误,请重新输入!");}}}
}

集合进阶:

集合的体系结构:

list系列集合:添加的元素是有序、可重复、有索引

set系列集合:添加的元素是无序,不重复,无索引

Collection:接口

是单列集合的祖宗接口,功能是全部单列集合都可以继承使用

元素的对象:元素的具体内容。

contains()方法比较的是地址值。

如果想让比较的是内容,那么需要重写equals()方法

迭代器遍历:迭代器不依赖索引。

迭代器遍历示例代码:

import java.util.ArrayList;
import java.util.*;
public class test {public static void main(String[] args) {Collection<String> coll=new ArrayList<>();coll.add("aa");coll.add("bb");coll.add("cc");coll.add("dd");Iterator<String> it=coll.iterator();while(it.hasNext()){String str=it.next();System.out.println(str);}}
}

1.没有这个元素异常。

next方法:获取当前指向的元素,并且移动迭代器里面的指针。

增强for遍历:

示例代码:

import java.util.ArrayList;
import java.util.*;
public class test {public static void main(String[] args) {Collection<String> coll=new ArrayList<>();coll.add("aa");coll.add("bb");coll.add("cc");coll.add("dd");for(String s:coll){//s就是一个第三方变量,在循环的过程中依次表示集合中的每一个数据System.out.println(s);}}
}

s仅仅是个第三方变量,不会改变集合中原本的数据。

Lambda表达式遍历:

foreach()方法底层就是一个循环遍历,依次得到集合中的元素。

import java.util.ArrayList;
import java.util.*;
import java.util.function.Consumer;
public class test {public static void main(String[] args) {Collection<String> coll=new ArrayList<>();coll.add("aa");coll.add("bb");coll.add("cc");coll.add("dd");//匿名内部类的形式/*coll.forEach(new Consumer<String>(){@Overridepublic void accept(String s) {System.out.println(s);}});*///Lambda表达式的形式coll.forEach(s-> System.out.println(s));}
}

总结sum


http://www.mrgr.cn/news/96739.html

相关文章:

  • 嵌入式EMC设计面试题及参考答案
  • 企业或个人linux服务器搭建
  • kubernetes》》k8s》》Deployment》》ClusterIP、LoadBalancer、Ingress 内部访问、外边访问
  • SOME/IP-SD -- 协议英文原文讲解10
  • 速查Linux常用指令
  • 【Harmonyos】项目开发总结--摇杆拖动侧重实现(适用游戏摇杆)
  • [GESP202503 C++六级题解]:P11963:环线
  • 论文阅读笔记:Denoising Diffusion Implicit Models (3)
  • 利用Canvas在紫微斗数命盘上画出三方四正
  • 大数据(4.3)Hive基础查询完全指南:从SELECT到复杂查询的10大核心技巧
  • 1.2 基于卷积神经网络与SE注意力的轴承故障诊断
  • C++学习day4
  • 企业linux常用服务搭建
  • SSH服务
  • 增加等IO状态的唤醒堆栈打印及缺页异常导致iowait分析
  • 设计模式 三、结构型设计模式
  • CMD(命令提示符)、PowerShell 和 Windows Terminal
  • C++练习3
  • ZGC 参数优化与 GC 触发机制解析分享
  • cpu下安装MinerU进行数据清洗