集合 集合

news2024/11/28 4:51:35

目录

 ArraryList

引用基本类型

案例1:定义一个集合添加学生姓名年龄

案例2:查看是否存在这个id

案例3:手机

案例4:学生管理系统(不完整)

Collection

collection遍历方式

迭代遍历(不依赖索引)

增强for循环遍历

Lambda表达式遍历

List集合


List集合添加的元素是有序、可重复、有索引的
Set集合添加的元素无序、不重复、无索引

 ArraryList

  • 集合长度可变:自动扩容
  • 集合和数据
    长度存储数据类型
    数组长度固定基本数据类型
    引用数据类型
    集合长度可变引用数据类型
    基本数据类型需变成包装类
  • 打印的是数据内容,不是地址值
  • 常用方法
    • 1.添加 add
    • 2.获取元素 get
    • 3.删除 remove
    • 4.修改 set
    • 5.查看长度 size
  • 引用基本类型

    • 需要用到包装类:ArrayList<Integer> list1 = new ArrayList<>();
    • 包装类
  • 案例1:定义一个集合添加学生姓名年龄

    • Student类
      package com.day1.day2;
      
      public class Student {
          private String name;
          private int age;
          
          public Student() { }
          public Student(String name, int age) {
              this.name = name;
              this.age = age;
          }
          
          public String getName() { return name; }
          public void setName(String name) { this.name = name; }
          public int getAge() { return age; }
          public void setAge(int age) { this.age = age; }
      
      }
      
    • 测试类
      package com.day1.day2;
      import java.util.ArrayList;
      import java.util.Scanner;
      
      public class Test {
          public static void main(String[] args) {
      
              ArrayList<Student> list = new ArrayList<>();
      
              Scanner sc = new Scanner(System.in);
      
              System.out.print("请输入学生人数:");
              int num = sc.nextInt();
      
              for (int i = 0; i < num;i++){
                  Student sd = new Student();
                  System.out.print("请输入学生名字:");
                  String name = sc.next();
                  System.out.print("请输入学生年龄:");
                  int age = sc.nextInt();
                  sd.setName(name);
                  sd.setAge(age);
                  list.add(sd);
              }
              for (int i = 0; i < list.size(); i++){
                  Student stu = list.get(i);
                  System.out.println(stu.getName() + " " + stu.getAge());
              }
          }
      }
      

       

  • 案例2:查看是否存在这个id

    • 需求:
      • main方法中定义一个集合,存入三个用户对象用户属性为:id,username,password,
      • 要求:定义一个方法,根据id查找对应的用户信息
        如果存在,返回true
        如果不存在,返回false
    • User类
      package com.day1.day2;
      
      public class User {
          private String id;
          private String username;
          private String password;
      
          public User(){}
          public User(String id, String username, String password) {
              this.id = id;
              this.username = username;
              this.password = password;
          }
          public String getId() { return id; }
          public void setId(String id) { this.id = id; }
          public String getUsername() { return username; }
          public void setUsername(String username) { this.username = username; }
          public String getPassword() { return password; }
          public void setPassword(String password) { this.password = password; }
      }
      

    • 测试类
      package com.day1.day2;
      
      import java.util.ArrayList;
      
      public class Test2 {
      
          public static void main(String[] args) {
              
              ArrayList<User> list = new ArrayList<>();
              User user1 = new User("001", "谢怜", "333");
              User user2 = new User("002", "花城", "666");
              User user3 = new User("003", "风师", "555555");
      
              list.add(user1);
              list.add(user2);
              list.add(user3);
      
              boolean contaions = contaions(list, "002");
              System.out.println(contaions);
          }
      
          public static boolean contaions(ArrayList<User> list, String id){
              for (int i = 0; i < list.size(); i++){
                  User u = list.get(i);
                  String uid = u.getId();
                  if (uid.equals(id)){
                      return true;
                  }
              }
              return false;
          }
      }
      
  • 案例3:手机

    • 需求:
      • 定义avabean类:PhonePhone属性:品牌,价格main方法中定义一个集合,存入三个手机对象。分别为:小米 2650  华为 5999 oppo 3569
      • 定义一个方法,将价格低于3000的手机信息返回
    • Phone类
      package com.day1.day2;
      
      import javax.crypto.spec.PSource;
      
      public class Phone {
          private String brand;
          private double price;
      
          public Phone(){}
          public Phone(String brand, double price) {
              this.brand = brand;
              this.price = price;
          }
      
          public String getBrand() { return brand; }
          public void setBrand(String brand) { this.brand = brand; }
          public double getPrice() { return price; }
          public void setPrice(double price) { this.price = price; }
      }
      
    • 测试类
      package com.day1.day2;
      
      import java.util.ArrayList;
      
      public class Test3 {
          public static void main(String[] args) {
              ArrayList<Phone> list = new ArrayList<>();
              Phone p1 = new Phone("小米", 2650);
              Phone p2 = new Phone("华为", 5999);
              Phone p3 = new Phone("oppo", 3569);
      
              list.add(p1);
              list.add(p2);
              list.add(p3);
      
              getPhoneInfo(list);
          }
          public static  void getPhoneInfo(ArrayList<Phone> list){
              for (int i = 0; i < list.size(); i++){
                  Phone phone = list.get(i);
                  double price = phone.getPrice();
                  if (price < 3000){
                      System.out.println(phone.getBrand() + phone.getPrice()) ;
                  }
              }
          }
      }
      
  • 案例4:学生管理系统(不完整)

    • Student类
      package com.StudentGuanli;
      
      public class Student {
          private String id;
          private String name;
          private int age;
          private String address;
      
          public Student(){}
          public Student(String id, String name, int age, String address) {
              this.id = id;
              this.name = name;
              this.age = age;
              this.address = address;
          }
      
          public String getId() { return id; }
          public void setId(String id) { this.id = id; }
          public String getName() { return name; }
          public void setName(String name) { this.name = name; }
          public int getAge() { return age; }
          public void setAge(int age) { this.age = age; }
          public String getAddress() { return address; }
          public void setAddress(String address) { this.address = address; }
      }
      
    • User类
      package com.StudentGuanli;
      
      public class User {
          private String username;
          private String password;
          private String personID;
          private String phoneNumber;
      
          public User(){ }
          public User(String username, String password, String personID, String phoneNumber) {
              this.username = username;
              this.password = password;
              this.personID = personID;
              this.phoneNumber = phoneNumber;
          }
      
          public String getUsername() { return username; }
          public void setUsername(String username) {
              this.username = username;
          }
          public String getPassword() {
              return password;
          }
          public void setPassword(String password) {
              this.password = password;
          }
          public String getPersonID() {
              return personID;
          }
          public void setPersonID(String personID) {
              this.personID = personID;
          }
          public String getPhoneNumber() {
              return phoneNumber;
          }
          public void setPhoneNumber(String phoneNumber) {
              this.phoneNumber = phoneNumber;
          }
      }
      
    • 查询学生类
      package com.StudentGuanli;
      
      import java.util.ArrayList;
      import java.util.Scanner;
      
      public class StudentSystem {
          public static void startStudentSystem() {
              ArrayList<Student> list = new ArrayList<>();
              Student student1 = new Student("01", "谢怜", 600, "仙乐");
              list.add(student1);
              loop:
              while (true) {
                  System.out.println("=======================欢迎来到学生管理系统==========================");
                  System.out.println("1:添加学生");
                  System.out.println("2:删除学生");
                  System.out.println("3:修改学生");
                  System.out.println("4:查询学生");
                  System.out.println("5:退出");
                  System.out.println("请输入您的选择");
                  Scanner sc = new Scanner(System.in);
                  String choose = sc.next();
                  switch (choose) {
                      case "1":
                          addStudent(list);
                          break;
                      case "2": {
                          delectStudent(list);
                      }
                      break;
                      case "3":
                          updataStudent(list);
                          break;
                      case "4":
                          selectStudent(list);
                          break;
                      case "5": {
                          System.out.println("退出");
                          break loop;
                      }
                  }
              }
          }
      
          public static void addStudent(ArrayList<Student> list) {
              System.out.println("====================添加学生=====================");
              Student stu = new Student();
              Scanner sc = new Scanner(System.in);
              String id;
              while (true) {
                  System.out.print("添加学生id:");
                  id = sc.next();
                  boolean ifequals = ifequals(list, id);
                  if (ifequals) {
                      System.out.println("id存在 重新录入");
                  } else {
                      stu.setId(id);
                      break;
                  }
              }
      
              System.out.print("添加学生名字:");
              String name = sc.next();
              stu.setName(name);
      
              System.out.print("添加学生年龄:");
              int age = sc.nextInt();
              stu.setAge(age);
      
              System.out.print("添加学生地址:");
              String address = sc.next();
              stu.setAddress(address);
      
              list.add(stu);
      
              System.out.println("===学生信息添加成功===");
          }
      
          public static void delectStudent(ArrayList<Student> list) {
              System.out.println("====================删除学生====================");
              Scanner sc = new Scanner(System.in);
              System.out.print("请输入学生学号:");
              String id = sc.next();
              boolean ifequals = ifequals(list, id);
              if (ifequals) {
                  //查找uid的id索引
                  int idid = idid(list, id);
                  list.remove(idid);
                  System.out.printf("========学号为%s的学生信息删除成功=======", id);
                  System.out.println();
              } else {
                  System.out.println("id不存在");
              }
      
          }
      
          public static void updataStudent(ArrayList<Student> list) {
              System.out.println("==========修改学生===============");
              Scanner sc = new Scanner(System.in);
              System.out.print("请输入学生学号:");
              String id = sc.next();
      //        boolean ifequals = ifequals(list, id);
      
      
      //        if (ifequals==false){
      //            System.out.println("输入的学号不存在");
      //            return;
      //        }
              int idid = idid(list, id);
              System.out.println(idid);
              if (idid == -1) {
                  System.out.println("输入的学号不存在");
                  return;
              }
              Student student = list.get(idid);   //需要修改的学生
      
              System.out.printf("修改%s学生的姓名:", id + "\t");
              String newname = sc.next();
              student.setName(newname);
      
              System.out.printf("修改%s学生的年龄:", id + "\t");
              int newage = sc.nextInt();
              student.setAge(newage);
      
              System.out.printf("修改%s学生的地址:", id + "\t");
              String newaddress = sc.next();
              student.setAddress(newaddress);
      
              System.out.printf("====%s学生信息修改成功====", id);
          }
      
          public static void selectStudent(ArrayList<Student> list) {
              System.out.println("====================查询学生====================");
              if (list.size() == 0) {
                  System.out.println("========没有学生数据=========");
                  return;
              }
              System.out.println("id\t姓名\t年龄\t地址");
              for (int i = 0; i < list.size(); i++) {
                  Student stu = list.get(i);
                  System.out.println(stu.getId() + "\t" + stu.getName() + "\t" + stu.getAge() + "\t\t" + stu.getAddress());
              }
          }
      
      
          public static void forlist(ArrayList<Student> list) {
              for (int i = 0; i < list.size(); i++) {
                  Student stu = list.get(i);
                  System.out.println(stu.getId() + stu.getName() + stu.getAge() + stu.getAddress());
              }
          }
      
          public static boolean ifequals(ArrayList<Student> list, String id) {
              for (int i = 0; i < list.size(); i++) {
                  Student stu = list.get(i);
                  String id1 = stu.getId();
                  if (id.equals(id1)) {
                      return true;
                  }
              }
              return false;
          }
      
          //返回id的索引(findIdIndex)
          public static int idid(ArrayList<Student> list, String id) {
              for (int i = 0; i < list.size(); i++) {
                  Student student = list.get(i);
                  String id1 = student.getId();
                  System.out.println(id1);
                  if (id1.equals(id)) {
                      return i;
                  }
              }
              return -1;
          }
      }
      
    • 用户登录类
      package com.StudentGuanli;
      
      import java.util.ArrayList;
      import java.util.Scanner;
      
      public class App {
          public static void main(String[] args) {
      
              Scanner sc = new Scanner(System.in);
              User user = new User();
              ArrayList<User> list = new ArrayList<>();
      
              loop:
              while (true) {
      
                  System.out.println("===========欢迎来到学生管理系统登录界面===========");
                  System.out.println("1:登录");
                  System.out.println("2:注册");
                  System.out.println("3:忘记密码");
                  System.out.println("4:谢谢使用");
                  System.out.println("5:查看用户");
                  System.out.print("请选择操作:");
                  int choose = sc.nextInt();
                  System.out.println("=================================================");
      
                  switch (choose) {
                      case 1:
                          login(list);
                          break;
                      case 2:
                          register(list);
                          break;
                      case 3:
                          forgetPassword(list);
                          break;
                      case 4:
                          System.out.println("4");
                          break loop;
                      case 5:
                          lookUsername(list);
                          break;
                      default:
                          System.out.println("没有这个选项");
                  }
              }
          }
      
          private static void login(ArrayList<User> list) {
              System.out.println("============登录============");
              User user = new User();
              Scanner sc = new Scanner(System.in);
              System.out.print("请输入用户用户名:");
              String username = sc.next();
              System.out.print("输入密码:");
              String password = sc.next();
              //查看是否有这个用户名
              boolean userByUsername = findUserByUsername(list, username);
              if (userByUsername){
      
                  //查看密码是否匹配
                  boolean b = checkPassword(list, username, password);
                  if (b){
                      System.out.println("==============登录成功==============");
                      StudentSystem studentSystem = new StudentSystem();
                      studentSystem.startStudentSystem();
                      return;
                  }else {
                      System.out.println("==============密码错误  登录失败==============");
                  }
              }else {
                  System.out.println("用户名不存在");
              }
          }
      
      
          private static void register(ArrayList<User> list) {
              System.out.println("============注册============");
              User user = new User();
              Scanner sc = new Scanner(System.in);
      
              while (true) {
                  System.out.print("请输入用户名:");
                  String username = sc.next();
                  boolean b = checkUsername(username);
                  if (b) {
                      user.setUsername(username);
                      break;
                  } else {
                      System.out.println("用户名格式不规范,重新输入");
                  }
              }
      
              while (true){
                  System.out.print("请输入密码:");
                  String password = sc.next();
                  System.out.print("请重复输入密码:");
                  String newpassword = sc.next();
                  boolean b = checkTwoPassword(password, newpassword);
                  if (b){
                      user.setPassword(password);
                      break;
                  }else {
                      System.out.println("==========两次密码不一致==========");
                  }
              }
      
              System.out.print("请输入身份证号码:");
              String personID = sc.next();
              user.setPersonID(personID);
      
              System.out.print("请输入手机号码:");
              String phoneNumber = sc.next();
              user.setPhoneNumber(phoneNumber);
      
              list.add(user);
      
          }
      
      
          private static void forgetPassword(ArrayList<User> list) {
              System.out.println("============忘记密码============");
              System.out.println("输入要查询的用户名");
              Scanner sc = new Scanner(System.in);
              String username = sc.next();
              String s = userIdIndex(list, username);
              System.out.printf("%s的密码是",username + s);
          }
      
          //查询用户名
          private static void lookUsername(ArrayList<User> list) {
              for (int i = 0; i < list.size(); i++) {
                  User user = list.get(i);
                  System.out.println(user.getUsername());
              }
          }
      
          //查询名称是否规范
          private static boolean checkUsername(String username) {
              //用户名长度在3-15
              int num = username.length();
              String name = "";
              int count = 0;
              if (num >= 3 && num <= 15) {
                  //只能是字母+数字
                  //纯字母可以
                  for (int i = 0; i < num; i++) {
                      char c = username.charAt(i);
                      if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9') {
                          name = name + c;
                      } else {
                          return false;
                      }
                  }
                  for (int i = 0; i < num; i++) {
                      char c = name.charAt(i);
                      if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z') {
                          count++;
                      }
                  }
                  if (count == 0) {
                      return false;
                  }
                  ;
                  return true;
              }
              return false;
      
          }
      
          //是否存在这个用户名
          private static boolean findUserByUsername(ArrayList<User> list, String username) {
      
              for (int i = 0; i < list.size(); i++) {
                  User user1 = list.get(i);
                  String username1 = user1.getUsername();
                  if (username.equals(username1)){
                      return true;
                  }
              }
              return false;
          }
      
          //返回用户名的index
          public static String userIdIndex(ArrayList<User> list,String username){
              String a = "用户名不存在";
              for (int i = 0; i < list.size(); i++) {
                  User user = list.get(i);
                  String username1 = user.getUsername();
                  if (username.equals(username1)){
                      String password = user.getPassword();
                      return password;
                  }
              }
              return a;
          }
      
          //查看密码是否匹配
          private static boolean checkPassword(ArrayList<User> list, String username, String password) {
              for (int i = 0; i < list.size() ; i++) {
                  boolean eq = list.get(i).getUsername().equals(username);
                  if (eq){
                      String password1 = list.get(i).getPassword();
                      if (password.equals(password1)){
                          return true;
                      }
                  }
              }
              return false;
          }
      
          //两次密码是否一致
          private static boolean checkTwoPassword(String password, String newpassword) {
              if (password.equals(newpassword)){
                  return true;
              }
              return false;
          }
      
      }
      

Collection

  • collection的功能是全部单列集合都可以继承使用的(接口)
  • collection遍历方式

    • 迭代遍历(不依赖索引)

      • 图示

        循环结束后 指针不会复位

    • 增强for循环遍历

      • 用处
        • 所有的单链集合
        • 数组
      • 用法
    • Lambda表达式遍历

      • 利用匿名内部类
      • 原理:遍历集合,得到每一个元素,传递给accept方法
  • List集合

    • list是是接口
    • 方法
      add()在集合指定位置插入集合的元素
      remove()按索引删除
      set()修改索引处元素
      get()返回索引处元素
    • 使用
    • list循环遍历的五种方式
      • 迭代器
      • 列表迭代器
      • 增强for循环
      • Lambda表达式
      • 普通for循环
  • Linkedlist

    • 方法

     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/550989.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习用于医学预后-第二课第四周13-15节-使用生存数的非线性风险评估模型

使用生存数的非线性风险评估模型 在这堂课中&#xff0c;你将学习关于生存树的知识。你将学习如何将患者的变量纳入考虑&#xff0c;比较不同患者的风险。 你将看到生存树与二叉决策树相似&#xff0c;可以让你构建模型来捕捉患者数据中的非线性关系。 在这堂课中&#xff0…

分布式运用之rsync远程同步

1.rsync的相关知识 1.1 rsync简介 rsync&#xff08;Remote Sync&#xff0c;远程同步&#xff09;是一个开源的快速备份工具&#xff0c;可以在不同主机之间镜像同步整个目录树&#xff0c;支持增量备份&#xff0c;并保持链接和权限&#xff0c;且采用优化的同步算法&#…

怎么使用树莓派总要了解一点它的软硬件吧。什么模块有什么用,需要什么准备才能安全的看到树莓派的开机界面

Raspberry Pi(中文名为“树莓派”,简写为 RPi&#xff0c;(或者 RasPi / RPI)只有信用卡大小的微型电脑&#xff0c;其系统基于 Linux。随着 Windows 10 IoT 的发布&#xff0c;我们也将可以用上运行 Windows IoT 的树莓派。别看其外表“娇小”&#xff0c;内“心”却很强大&am…

Doxygen 源码分析: SymbolMap类

2023-05-21 10:59:35 ChrisZZ imzhuofoxmailcom Hompage https://github.com/zchrissirhcz 文章目录 1. Doxygen 版本2. SymbolMap 类概要3. 添加符号: SymbolMap<T>::add()4. 删除符号: SymbolMap<T>::remove()5. 符号查找: SymbolMap<T>::find()6. 哪里用了…

1.golang的介绍、环境安装和编译器安装

一、Go的介绍 Go语言其实是Golanguage的简称&#xff0c;Go&#xff08;又称 Golang&#xff09;是 Google 的 Robert Griesemer&#xff0c;Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译并发型语言。Go 语言语法与 C 相近&#xff0c;但功能上有&#xff1a;内存安全…

Doxygen 源码分析: Definition类

2023-05-21 13:05:28 ChrisZZ imzhuofoxmailcom Hompage https://github.com/zchrissirhcz Blog https://blog.csdn.net/baiyu33 文章目录 1. Doxygen 版本2. Definition 类和它的8个子类3. Definition 类的 Private 成员4. Definition 类的 Public 成员4.1 特殊成员函数4.2 获…

(学习日记)AD学习 #1

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

Linux基本操作指令2

目录 指令1&#xff1a;rmdir指令&#xff1a; 指令2&#xff1a;rm命令&#xff1a; 指令3&#xff1a;man指令&#xff1a; 指令4&#xff1a;cp指令&#xff1a; 指令5&#xff1a;mv指令&#xff1a;类似于Windows的剪贴 指令6&#xff1a;cat指令 指令7&#xff1a;…

QT5.15.0使用gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf交叉编译的问题总结

目录 一、交叉编译 二、操作中踩过的坑 1、环境变量未生效 2、交叉编译QT代码操作 3、烧录时报错缺少xcb问题 4、小白的细小错误 三、--platform命令 3、1 -platform linuxfb 详细文档请点击此处 我的文档在原文档的基础上添加了非常详细的提醒&#xff0c;可以少走弯路…

软件性能测试过程详解与案例剖析

软件性能测试是软件开发过程中至关重要的一环&#xff0c;它能够帮助我们确保软件在不同负载和使用情况下的表现。在软件性能测试中&#xff0c;我们通常会关注软件的响应时间、吞吐量、并发用户数等指标&#xff0c;以评估软件性能。 软件性能测试过程主要分为以下几个步骤&am…

leetcode:322. 零钱兑换(暴力dfs,记忆化dfs,动态规划(朴素+优化),bfs+贪心)

记录常规的完全背包问题模型 1.暴力dfs2.优化dfs&#xff0c;记忆化dfs3.动态规划4.bfs 1.由于每件物品可以无限取&#xff0c;那么可以发现这是一个完全背包问题模型。 1.暴力dfs 最后要求的是&#xff1a;n种硬币&#xff0c;凑成总金额为amount。每种硬币无限取&#xff0…

Java8 教你一行代码搞定:如何计算map中value值

大家好&#xff0c;我是三叔&#xff0c;很高兴这期又和大家见面了&#xff0c;一个奋斗在互联网的打工人。 这期给大家讲一下在Java编程中&#xff0c;如何使用Java8对map的值进行计算&#xff0c;在实际开发中&#xff0c;也是经常遇到统计map中的value值之和。 Map是一种常…

Web安全:文件上传漏洞测试.

Web安全&#xff1a;文件上传漏洞测试. 现在大多的网站和Web应用系统都会有上传功能&#xff08;比如&#xff1a;文档&#xff0c;图片&#xff0c;头像&#xff0c;视频上传等.&#xff09;&#xff0c;而程序员在开发文件上传功能时&#xff0c;没有对代码做严格校验上传文…

解决大文件传输难题的方法和技巧

传统的传输大文件的方式&#xff0c;如电子邮件附件或USB驱动器&#xff0c;由于文件大小的限制和安全问题&#xff0c;变得越来越不方便。大文件共享是现代商业通信的一个重要方面&#xff0c;组织需要安全可靠的方式来传输这些文件。 传统文件传输方式的不便 传统的文件传输方…

LabVIEWCompactRIO 开发指南27 创建模块化、可重复使用的子VI

LabVIEWCompactRIO 开发指南27 创建模块化、可重复使用的子VI 编写模块化代码几乎总是一个好主意&#xff0c;无论是为Windows、实时还是FPGA设备设计应用程序。子VI使代码更易于调试和故障排除&#xff0c;更易于记录和跟踪更改&#xff0c;并且通常更清晰&#xff0c;更易于…

一文读懂JVM架构解析

JVM 架构解析 Java 架构JVMJVM是如何工作的&#xff1f;类加载器子系统 运行时数据区执行引擎 每个 Java 开发人员都知道字节码经由 JRE&#xff08;Java运行时环境&#xff09;执行。但他们或许不知道 JRE 其实是由 Java虚拟机&#xff08;JVM&#xff09;实现&#xff0c;JVM…

css3 flex弹性布局学习

一、flex基本概念 当开启flex布局后&#xff0c;项目默认沿主轴排列。单个项目占据的主轴空间叫做main size&#xff0c;占据的交叉轴空间叫做cross size。 二、容器的属性 以下6个属性设置在容器上。 flex-direction flex-wrap flex-flow justify-content align-items align…

LabVIEWCompactRIO 开发指南26 同步循环

LabVIEWCompactRIO 开发指南26 同步循环 对于大多数控制和监视应用&#xff0c;代码执行的时间对于系统的性能和可靠性非常重要。在此电机控制示例中&#xff0c;有两个不同的时钟信号&#xff1a;采样时钟和PID时钟。这些是在应用程序中生成的布尔信号&#xff0c;用于在循环…

【HackTheBox MonitorsTwo】打靶记录

信息搜集 1、nmap 扫描一波 └─# nmap -sC -sV 10.10.11.211 Starting Nmap 7.93 ( https://nmap.org ) at 2023-05-14 20:55 EDT Nmap scan report for 10.10.11.211 Host is up (0.25s latency). Not shown: 998 closed tcp ports (reset) PORT STATE SERVICE VERSION 2…

[NodeJS] 优缺点及适用场景讨论

概述&#xff1a; NodeJS宣称其目标是“旨在提供一种简单的构建可伸缩网络程序的方法”&#xff0c;那么它的出现是为了解决什么问题呢&#xff0c;它有什么优缺点以及它适用于什么场景呢&#xff1f; 本文就个人使用经验对这些问题进行探讨。 一. NodeJS的特点 我们先来看看N…