Java是否具有与pascaltype record ... end相同的功能来对数据进行排序?

问题描述

就像这个标题所说的那样,我想像java中的pascal那样创建相同的数组。但这有可能在Java中实现吗?

type
  personal = record
              name : string;
              year : smallint;
              sex : string;
              age : integer;
              phone : string;
             end;
var
  PersonalArray : array [1..10] of personal;

  ...
  
  PeterPhone := PersonalArray[1].phone;

我希望编写一个程序,以便可以按用户的年龄对他们的订单进行排序。在pascal中,可以使用这些代码一次交换 WHOLE 用户的数据。

temp := PersonalArray[0];
PersonalArray[0] = PersonalArray[1];
PersonalArray[1] = temp;

由于我只是一名Java初学者,所以我无法在Java中找到任何类似的代码可以为我做这件事(我已经找到了一个星期的代码,但仍然找不到它...)。我只想有一种更快的方法来排序它们而不使用愚蠢的方法(使用那么多分离的数组来存储这些数据,而只是交换所有数组来对Users进行排序)。

我做的那个愚蠢的方法

//Declaring those array varibles
String[] Narr = new String[100],Parr = new String[100];
int[] Yarr = new int[100],byte[] Aarr = new byte[100];
char[] Sex = new int[100];

  ...
//Swaping the Users' Data
NameTemp = Narr[0]; Narr[0] = Narr[1]; Narr[1] = NameTemp; //swap the name array
YearTemp = Yarr[0]; Yarr[0] = Yarr[1]; Yarr[1] = YearTemp; //swap the year array
SexTemp = Sarr[0]; Sarr[0] = Sarr[1]; Sarr[1] = SexTemp; //swap the sex array
AgeTemp = Aarr[0]; Aarr[0] = Aarr[1]; Aarr[1] = AgeTemp; //swap the age array
PhoneTemp = Parr[0]; Parr[0] = Parr[1]; Parr[1] = PhoneTemp; //swap the phone array

有人能更好地编写此代码吗?还是我只能用那些愚蠢的方法解决这个问题?

谢谢大家!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)