컬렉션은 프로그램 개발에 자주 사용됩니다. 예를 들어 비즈니스 메소드에서는 학생 정보, 제품 정보 등을 컬렉션에 저장한 후 메소드의 반환 값으로 호출자에게 반환하므로 많은 양의 정렬된 데이터가 전달됩니다. .
이 예에서는 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 }
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!