Java创建一个未知大小的名单

时间:2013-04-20 05:17:30

标签: java database arrays

我发布这个作为挑选你的大脑的问题。对于未知大小的名单,数组是否是适当类型的数据持有者?

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

  
      
  1. addToRoster //这将为建议的数组添加一个名称,包括数组和字符串。
  2.   
  3. getRoster //将返回打印到控制台的名单元素。
  4.   
  5. remFrRoster //取名字,循环浏览名单,如果找到则将其删除。
  6.   

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

感谢, 全景图

2 个答案:

答案 0 :(得分:2)

您可以使用ArrayList:

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

ArrayList与数组基本相同,但它的大小可以更改。如果在程序运行时名单上的玩家数量将改变,则仅使用ArrayList。即如果您要从文件中读取玩家,只需使用数组,但如果您程序启动后会创建不确定数量的玩家,使用ArrayList。

答案 1 :(得分:1)

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

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

如果您的Roster恰好包含名称以外的属性,则可以使用Map来存储Roster个对象。

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

HTH。