程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2023-06(2)

java ArrayList的遍历

发布于2021-11-25 20:43     阅读(352)     评论(0)     点赞(20)     收藏(2)


1.定义一个User类,属性有姓名,年龄,性别(性别用字符类型表示,m表示男,f表示女),电话,住址,定义初始化属性的构造方法,定义打印输出所有用户信息的show方法

2.定义一个管理User的类UserManager类,使用ArrayList对象管理所有的用户,完成用户的添加,删除,以及查找,同时统计用户的平均年龄,统计注册用户男性和女性的数量。

3.定义测试类,测试类中各功能

ArrayList的遍历 可以采用下面的3种方式进行遍历。

  1. 方法一:
  2. for(int i=0;i<list1.size();i++){
  3. System.out.println(list1.get(i));
  4. }
  5. 方法二:
  6. Object o[] = list1.toArray();
  7. for(int i=0;i<o.length;i++){
  8. String temp = (String)o[i];
  9. System.out.println(temp);
  10. }
  11. 方法三:
  12. Iterator<String> i = list1.iterator();
  13. while(i.hasNext()){
  14. String temp = i.next();
  15. System.out.println(temp);
  16. }

下面程序用两种方式实现:

第一种方式实现:

User代码实现:

  1. public class User {
  2. String name;
  3. int age;
  4. String sex;
  5. String phone;
  6. String address;
  7. public User(String name, int age, String sex, String phone, String address) {
  8. super();
  9. this.name = name;
  10. this.age = age;
  11. this.sex = sex;
  12. this.phone = phone;
  13. this.address = address;
  14. }
  15. void show() {
  16. System.out.println(
  17. "姓名:" + name + "" + "年龄:" + age + "" + "姓别:" + sex + "" + "电话:" + phone + "" + "住址:" + address + "");
  18. }
  19. }

测试类代码:

  1. public class UserManager {
  2. public static void main(String[] args) {
  3. ArrayList<User> list = new ArrayList<User>();// 泛型
  4. // ArrayList<String> strList = new ArrayList<String>();
  5. User u1 = new User("张一", 20, "m", "12345961455", "大连");
  6. User u2 = new User("张二", 22, "f", "12495361460", "旅顺");
  7. User u3 = new User("张三", 29, "m", "12741261471", "小日子");
  8. User u4 = new User("张四", 25, "f", "12789921472", "北京");
  9. User u5 = new User("张五", 24, "m", "12345961778", "大庆");
  10. // 添加
  11. list.add(u1);
  12. list.add(u2);
  13. list.add(u3);
  14. list.add(u4);
  15. list.add(u5);
  16. // 查找
  17. for (int i = 0; i < list.size(); i++) {
  18. list.get(i).show();
  19. }
  20. // 删除
  21. list.remove(1);
  22. int sum = 0, avg = 0, numm = 0, numf = 0;
  23. System.out.println("--------------------------");
  24. for (int i = 0; i < list.size(); i++) {
  25. list.get(i).show();
  26. // 统计平均年龄,注册用户的男性和女性数量
  27. // 年龄总和
  28. sum += list.get(i).age;
  29. // 平均年龄
  30. avg = sum / list.size();
  31. // 注册用户的男性和女性数量
  32. if (list.get(i).sex == "m") {
  33. numm += 1;
  34. }
  35. if (list.get(i).sex == "f") {
  36. numf += 1;
  37. }
  38. }
  39. System.out.println("--------------------------");
  40. System.out.println("平均年龄为:" + avg);
  41. System.out.println("--------------------------");
  42. System.out.println("男性数量:" + numm);
  43. System.out.println("女性数量:" + numf);
  44. }
  45. }

效果实现:

第二种方式实现:

  1. public class UserManagerTest {
  2. public static void main(String[] args) {
  3. UserManager um = new UserManager();
  4. User u1 = new User("张三", 20, 'm', "13408094567", "东软");
  5. User u2 = new User("李四", 22, 'f', "13408094567", "东软");
  6. User u3 = new User("王五", 21, 'f', "13408094567", "东软");
  7. um.addUser(u1);
  8. um.addUser(u2);
  9. um.addUser(u3);
  10. um.showUserList();
  11. um.removeUser(u3);
  12. System.out.println("移除一个用户后:");
  13. um.showUserList();
  14. User u4 = new User("王五", 21, 'f', "13408094567", "东软");
  15. System.out.println("查找用户:" + um.findUser(u4));
  16. System.out.println("平均年龄:" + um.averageAge());
  17. System.out.println("女性:" + um.getFemaleCount() + "人");
  18. System.out.println("男性:" + um.getMaleCount() + "人");
  19. }
  20. }
  21. class User {
  22. String name;
  23. int age;
  24. char sex;
  25. String telephone;
  26. String address;
  27. User(String name, int age, char sex, String telephone, String address) {
  28. this.name = name;
  29. this.age = age;
  30. this.sex = sex;
  31. this.telephone = telephone;
  32. this.address = address;
  33. }
  34. void show() {
  35. System.out.println(
  36. "name:" + name + ",age:" + age + ",sex:" + sex + ",telephone:" + telephone + ",address:" + address);
  37. }
  38. }
  39. class UserManager {
  40. ArrayList<User> userList;
  41. public void addUser(User u) {
  42. if (userList == null) {
  43. userList = new ArrayList<User>();
  44. }
  45. userList.add(u);
  46. }
  47. public void showUserList() {
  48. if (userList == null) {
  49. System.out.println("无任何用户");
  50. } else {
  51. for (int i = 0; i < userList.size(); i++) {
  52. User temp = (User) userList.get(i);
  53. temp.show();
  54. }
  55. }
  56. }
  57. public void removeUser(User u) {
  58. if (userList != null) {
  59. userList.remove(u);
  60. }
  61. }
  62. public boolean findUser(User u) {
  63. if (userList != null) {
  64. return userList.contains(u);
  65. } else {
  66. return false;
  67. }
  68. }
  69. // 平均年龄
  70. public double averageAge() {
  71. double sum = 0;
  72. if (userList == null) {
  73. System.out.println("无任何用户,无法计算平均年龄");
  74. return -1;
  75. } else {
  76. for (int i = 0; i < userList.size(); i++) {
  77. User temp = (User) userList.get(i);
  78. sum += temp.age;
  79. }
  80. return sum / userList.size();
  81. }
  82. }
  83. // 女性
  84. public int getFemaleCount() {
  85. int sum = 0;
  86. if (userList == null) {
  87. System.out.println("无任何用户,无法计算女性数量");
  88. } else {
  89. for (int i = 0; i < userList.size(); i++) {
  90. User temp = userList.get(i);
  91. if (temp.sex == 'f') {
  92. sum++;
  93. }
  94. }
  95. }
  96. return sum;
  97. }
  98. // 男性
  99. public int getMaleCount() {
  100. int sum = 0;
  101. if (userList == null) {
  102. System.out.println("无任何用户,无法计算男性数量");
  103. } else {
  104. for (int i = 0; i < userList.size(); i++) {
  105. User temp = userList.get(i);
  106. if (temp.sex == 'm') {
  107. sum++;
  108. }
  109. }
  110. }
  111. return sum;
  112. }
  113. }

效果实现:

 



所属网站分类: 技术文章 > 博客

作者:想要飞翔的天使

链接:http://www.javaheidong.com/blog/article/331363/ee700dd95b39b5c44810/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

20 0
收藏该文
已收藏

评论内容:(最多支持255个字符)