在Java中创建类似结构的数据结构

在Java中创建类似结构的数据结构,java,c,data-structures,Java,C,Data Structures,我是Java新手,我正试图找到一种像C中的结构一样存储信息的方法。比如说,我想让一个程序雇佣员工。它将从用户那里获取名字、姓氏和id号,并将其存储。然后,用户可以根据条件查看该信息(例如,如果数据库有多个员工)。有什么可以提出这样做的最好的方法吗?< /P> < P> C++中的结构就像java中的一个类,功能更强大,因为java中的类可以包含方法,C++也可以。创建一个新类。例如: class Employee { private String name; p

我是Java新手,我正试图找到一种像C中的结构一样存储信息的方法。比如说,我想让一个程序雇佣员工。它将从用户那里获取名字、姓氏和id号,并将其存储。然后,用户可以根据条件查看该信息(例如,如果数据库有多个员工)。有什么可以提出这样做的最好的方法吗?< /P> < P> C++中的结构就像java中的一个类,功能更强大,因为java中的类可以包含方法,C++也可以。创建一个新类。例如:

   class Employee {
       private String name;
       private int code;

   // constructor
   public Employee(String name, int code) {
      this.name = name;
      this.code = code;
   }

       // getter
       public String getName() { return name; }
       public int getCode() { return code; }
       // setter

       public void setName(String name) { this.name = name; }
       public void setCode(int code) { this.code = code; }
    }
当您想要创建多个雇员时,可以像C中那样创建数组:

Employee[] arr = new Employee[100];  // new stands for create an array object
arr[0] = new Employee("Peter", 100); // new stands for create an employee object
arr[1] = new Employee("Mary", 90);

我将创建一个带有公共字段和默认构造函数的公共类,如下所示:

    public class Employee {
       public String name, last_name;


   // constructor
   public Employee() {
      this.name = "";
      this.last_name= "";
   }


    }

  ....
  //when using it
  Employee e = new Employee();
  e.name ="Joe";
  e.last_name = "Doe";

我对Java不支持的结构有一个很大的问题。我正在编写一个Android应用程序,它通过蓝牙从基于ARM的嵌入式设备(用“C”编写)接收数据。接收到的数据是包含嵌入式设备EEPROM内容的压缩字节数组


在“C”、C++或“C”中,我可以简单地“将”这一字节流“投射”到一个代表嵌入式设备上EEPROM的结构,并通过引用它们来编程地使用结构的成员。在Java中,我没有这个选项,也没有好的方法来实现它,因为Java(除了一个支持压缩类的晦涩IBM版本)不允许您拥有“压缩”类,其中类成员被压缩,而每个类成员都没有页眉和页脚

在Java 16中有
记录
():


它附带了一个规范构造函数、字段访问器、
hashCode()
equals()
toString()
实现。

来自
类的
对象包含所有要打包的数据。以及管理这些数据的方法。如果我为employee创建一个新类,我是想在employee类中创建数组,还是可以在单独的类中创建数组?@bardockyo您将在单独的类中创建它。通常,类中的employee数组,例如“Management”。我在setCode()中发现了一个小错误。它应该是“int-Code”而不是“String-Code”。我想编辑,但“编辑必须至少有6个字符”,我想指出C++中的结构也可以包含方法。在爪哇,有一个DATIAN PATSURSTATE和DATAUPT流。或者更像struct的ByteBuffer。这看起来有点不安全,因为根据编译器、操作系统或处理器的不同,内存中表示的结构的填充和优化方式不再适用。
public record Employee(String firstName, String lastName, String id) {
}