集合在程序开发中经常用到,例如,在业务方法中将学生信息、商品信息等存储到集合中,然后作为方法的返回值返回给调用者,以此传递大量的有序数据。
本实例将使用List集合在方法之间传递学生的信息。实例效果如下:


设计过程
1)在项目中新建窗体类ClassInfo。 在窗体中添加JScrollPane,再在JScrollPane中放置表格控件JTable。
2)编写getTable()方法。在该方法中创建表格对象并设置表格的数据模型,然后调用getStudents()方法获取学生信息的集合对象,
在遍历该集合对象的同时,把每个元素添加到表格模型的行,并显示到表格控件中。
1 private JTable getTable() {
2 if (table == null) {
3 table = new JTable();// 创建表格控件 4 table.setRowHeight(23);// 设置行高度 5 String[] columns = { "姓名", "性别", "出生日期" };// 创建列名数组
6 // 创建表格模型 7 DefaultTableModel model = new DefaultTableModel(columns, 0);
8 table.setModel(model);// 设置表格模型 9 List<String> students = getStudents();// 调用方法传递list集合对象 10 for (String info : students) {// 遍历学生集合对象 11 String[] args = info.split(",");// 把学生信息拆分为数组 12 model.addRow(args);// 把学生信息添加到表格的行 13 }
14 }
15 return table;
16 }3)编写getStudents()方法,该方法将向调用者传递List集合对象,并为集合对象添加多个元素,每个元素值都是一个学生信息,其中包括姓名、性别、出生日期。
1 private List<String> getStudents(){
2 //创建List集合对象 3 List<String> list = new ArrayList<String>();
4 list.add("钱东强,男,1990-1-4");//字符串之间用英文的逗号隔开 5 list.add("孙西,女,1990-1-4");
6 list.add("周五燕,男,1990-1-4");
7 list.add("王东,女,1990-1-4");
8 list.add("冯晓,男,1990-1-4");
9 list.add("陈玉山,女,1990-1-4");
10 list.add("蒋钦大,男,1990-1-4");
11 return list;
12 13 }完整代码
1 package cn.str.opera;
2 3 import java.awt.BorderLayout;
4 5 public class ClassInfo extends JFrame {
6 7 private JPanel contentPane;
8 private JTable table;
9 10 /** 11 * Launch the application.
12 */ 13 public static void main(String[] args) {
14 15 try {
16 UIManager
17 .setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
18 } catch (Throwable e) {
19 e.printStackTrace();
20 }
21 EventQueue.invokeLater(new Runnable() {
22 public void run() {
23 try {
24 ClassInfo frame = new ClassInfo();
25 frame.setVisible(true);
26 } catch (Exception e) {
27 e.printStackTrace();
28 }
29 }
30 });
31 }
32 33 /** 34 * Create the frame.
35 */ 36 public ClassInfo() {
37 getContentPane().setLayout(new BorderLayout(0, 0));
38 setTitle("\u7528List\u96C6\u5408\u4F20\u9012\u5B66\u751F\u4FE1\u606F");
39 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
40 setBounds(100, 100, 450, 300);
41 contentPane = new JPanel();
42 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
43 contentPane.setLayout(new BorderLayout(0, 0));
44 setContentPane(contentPane);
45 46 47 JScrollPane scrollPane = new JScrollPane();
48 contentPane.add(scrollPane,BorderLayout.CENTER);
49 scrollPane.setViewportView(getTable());
50 51 }
52 53 private JTable getTable() {
54 if(table == null){
55 table = new JTable();//创建表格控件 56 table.setRowHeight(23);
57 String[] columns = {"姓名","性别","出生日期"};//创建列名数组
58 //创建表格模型 59 DefaultTableModel model = new DefaultTableModel(columns,0);
60 table.setModel(model);//设置表格模型 61 List<String> students = getStudents();
62 for(String info:students){// 遍历学生集合对象 63 String[] args = info.split(",");// 按英文逗号,把学生信息拆分为数组 64 model.addRow(args);
65 }
66 67 }
68 return table;
69 }
70 71 private List<String> getStudents(){
72 //创建List集合对象 73 List<String> list = new ArrayList<String>();
74 list.add("钱东强,男,1990-1-4");//字符串之间用英文的逗号隔开 75 list.add("孙西,女,1990-1-4");
76 list.add("周五燕,男,1990-1-4");
77 list.add("王东,女,1990-1-4");
78 list.add("冯晓,男,1990-1-4");
79 list.add("陈玉山,女,1990-1-4");
80 list.add("蒋钦大,男,1990-1-4");
81 return list;
82 83 }
84 85 }
以上就是教你如何用List进行学生信息传递的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号