0

我将其发布为一个选择您的大脑的问题。对于未知大小的名册,数组是适当类型的数据持有者吗?

我希望用 3 种方法创建一个小类

  1. addToRoster //这将向建议的数组添加一个名称,接收一个数组和一个字符串。
  2. getRoster //这将返回打印到控制台的花名册元素。
  3. remFrRoster // 它会取一个名字,循环遍历名册并在找到时将其删除。

我真的是Java的初学者。我只编程了大约一个星期,并希望找出一些东西。一,这是一个适合班级的设计方法吗?二,数组是存储字符串花名册的首选方法吗?最后,我是否必须将我的数组初始化为确定的大小,或者我可以让它在接近初始化大小的限制时改变大小?

谢谢,全景

4

2 回答 2

2

您可以使用 ArrayList:

ArrayList<Player> roster = new ArrayList<Player>();  
roster.add(new Player(32));  
System.out.println(roster.get(0).getAge());

ArrayList 本质上与数组相同,但它的大小可以更改。仅当程序运行时花名册上的球员人数将发生变化时,才使用 ArrayList 。即,如果您要从文件中读取播放器,只需使用数组,但如果您要在程序启动后创建不确定数量的播放器,请使用 ArrayList。

于 2013-04-20T05:22:31.470 回答
1

我会使用 Collection 而不是数组来根据元素的数量动态调整商店的大小。

  • AList适合存储任意数量的元素。
  • AMap适合存储使用对象属性键入的任意数量的对象。

如果您Roster碰巧包含名称以外的属性,那么您可以使用 aMap来存储您的Roster对象。

  • addToRoster 会简单地将一个元素放在 Map 中作为map.put(roster.getName(), roster).
  • getRoster 将遍历map.values()集合并打印每个名册对象。
  • remFrRoster 将简单地使用指定的名称删除名册对象,map.remove(name). 如果此调用的返回值为 null,则表示没有具有该名称的 roster 对象。

HTH。

于 2013-04-20T05:25:39.483 回答