Java 数组记录
Java array records
我需要获得一个具有 3 种类型值的变量类型,我知道的唯一方法是 "Records",但我知道 "Records" 中没有这样的类型 Java 但 ArrayList
,但我不明白...
我的结果应该是:(不知道它在 Java 中的样子,所以我以不同的风格展示)
TData = Record
Username : String;
UserID : Int ;
RowID : Int;
end;
users : array[1..10] of TData;
for(int i = 1; i < rowCount; i++){
TData.Username[i] = rs.GetString("Name");
TData.UserID[i] = rs.GetInt("UserID");
TData.RowID[i] = row;
}
关于如何制作这样的东西有什么建议吗?
我真的需要 ArrayList
吗?
感谢您的帮助,最后我结合并得到了这个结果,完美运行:
class MyData {
private String userName;
private int userID;
private int RowID;
public MyData(String userName, int userID, int RowID) {
this.userName = userName;
this.userID = userID;
this.RowID = RowID;
}
public String getUserName() {
return userName;
}
public int getUserID() {
return userID;
}
public int getRowID() {
return RowID;
}
}
public void AList(){
ArrayList<MyData> users = new ArrayList<>();
try{
conn = DBConnection.DBConnector();
pst = conn.prepareStatement("SELECT * FROM TableUserData");
rs = pst.executeQuery();
row = 0;
while (rs.next()) {
users.add(new MyData(rs.getString("User_name"), rs.getInt("ID"), row));
row++;
}
for (MyData tmp : users) {
JOptionPane.showMessageDialog(null, "Users: " + tmp.getUserName() + " row: " + rtmp.getRowID());
}
}catch(Exception e){
JOptionPane.showMessageDialog(null, "Arraylist error: " + e);
}
}
你搞混了。
ArrayList
是数组的灵活替代方案,用于存储 "a bunch" 具有相同类型的数据。
这些数据(一项)的类型由您决定。
在 Java 中执行此操作的标准方法是定义一个 class 如
class MyData {
private String userName;
private int userID;
private int rowID;
public MyData(String userName, int userID, int rowID) {
this.userName = userName;
this.userID = userID;
this.rowID = rowID;
}
public String getUserName() {
return userName;
}
public int getUserID() {
return userID;
}
public int getRowID() {
return rowID;
}
}
然后
ArrayList<MyData> users = new ArrayList<>();
while (rs.next()) {
users.add(new MyData(rs.GetString("Name"), rs.GetInt("UserID"), rs.GetInt("RowID")));
}
考虑以下代码片段 -
int salary;
float bonus;
char YesOrNo = 'Y';
这里salary
、bonus
、YesOrNo
都是数据,int
、float
、char
都是数据类型。我们称salary
是一个int
类型的数据,bonus
是一个float
类型的数据。这里 int
、float
、char
- 这些数据类型是 java
中的原始类型。
除了原始类型之外,您还可以使用 object oriented
编程语言创建自己的数据类型,例如 - java
。在这里,我认为您可以创建一个名为 Record
的 class 或其他更有意义的名称 -
public class Record {
private String userName;
private int userId;
private int rowId;
public Record(String userName, int userId, int rowId){
this.userName = userName;
this.userId = userId;
this.rowId
}
//getter and setter methods if required
}
之后当您创建 Record
的 instance/object -
Record aRecord = new Record("user001", 1, 1);
然后在OOP
中我们将新创建的class-Record
称为用户自定义数据类型。现在我们可以调用 aRecord
作为 Record
类型的数据。
然后就可以用ArrayList
来存储Record
类型的数据了-
List<Record> recordList = new ArrayList<Recored>();
我需要获得一个具有 3 种类型值的变量类型,我知道的唯一方法是 "Records",但我知道 "Records" 中没有这样的类型 Java 但 ArrayList
,但我不明白...
我的结果应该是:(不知道它在 Java 中的样子,所以我以不同的风格展示)
TData = Record
Username : String;
UserID : Int ;
RowID : Int;
end;
users : array[1..10] of TData;
for(int i = 1; i < rowCount; i++){
TData.Username[i] = rs.GetString("Name");
TData.UserID[i] = rs.GetInt("UserID");
TData.RowID[i] = row;
}
关于如何制作这样的东西有什么建议吗?
我真的需要 ArrayList
吗?
感谢您的帮助,最后我结合并得到了这个结果,完美运行:
class MyData {
private String userName;
private int userID;
private int RowID;
public MyData(String userName, int userID, int RowID) {
this.userName = userName;
this.userID = userID;
this.RowID = RowID;
}
public String getUserName() {
return userName;
}
public int getUserID() {
return userID;
}
public int getRowID() {
return RowID;
}
}
public void AList(){
ArrayList<MyData> users = new ArrayList<>();
try{
conn = DBConnection.DBConnector();
pst = conn.prepareStatement("SELECT * FROM TableUserData");
rs = pst.executeQuery();
row = 0;
while (rs.next()) {
users.add(new MyData(rs.getString("User_name"), rs.getInt("ID"), row));
row++;
}
for (MyData tmp : users) {
JOptionPane.showMessageDialog(null, "Users: " + tmp.getUserName() + " row: " + rtmp.getRowID());
}
}catch(Exception e){
JOptionPane.showMessageDialog(null, "Arraylist error: " + e);
}
}
你搞混了。
ArrayList
是数组的灵活替代方案,用于存储 "a bunch" 具有相同类型的数据。
这些数据(一项)的类型由您决定。
在 Java 中执行此操作的标准方法是定义一个 class 如
class MyData {
private String userName;
private int userID;
private int rowID;
public MyData(String userName, int userID, int rowID) {
this.userName = userName;
this.userID = userID;
this.rowID = rowID;
}
public String getUserName() {
return userName;
}
public int getUserID() {
return userID;
}
public int getRowID() {
return rowID;
}
}
然后
ArrayList<MyData> users = new ArrayList<>();
while (rs.next()) {
users.add(new MyData(rs.GetString("Name"), rs.GetInt("UserID"), rs.GetInt("RowID")));
}
考虑以下代码片段 -
int salary;
float bonus;
char YesOrNo = 'Y';
这里salary
、bonus
、YesOrNo
都是数据,int
、float
、char
都是数据类型。我们称salary
是一个int
类型的数据,bonus
是一个float
类型的数据。这里 int
、float
、char
- 这些数据类型是 java
中的原始类型。
除了原始类型之外,您还可以使用 object oriented
编程语言创建自己的数据类型,例如 - java
。在这里,我认为您可以创建一个名为 Record
的 class 或其他更有意义的名称 -
public class Record {
private String userName;
private int userId;
private int rowId;
public Record(String userName, int userId, int rowId){
this.userName = userName;
this.userId = userId;
this.rowId
}
//getter and setter methods if required
}
之后当您创建 Record
的 instance/object -
Record aRecord = new Record("user001", 1, 1);
然后在OOP
中我们将新创建的class-Record
称为用户自定义数据类型。现在我们可以调用 aRecord
作为 Record
类型的数据。
然后就可以用ArrayList
来存储Record
类型的数据了-
List<Record> recordList = new ArrayList<Recored>();