目前,我有ArrayList,当它们被添加到俱乐部时,对象被存储在其中。我也有一个整数,一旦一个对象被添加到ArrayList中,它就会自动递增。但是,我不确定我能够如何在ArrayList中添加播放器对象的注册ID。添加到Java中ArrayList中的元素?
0
A
回答
2
它是不是从你的描述完全清楚什么正是你正在尝试做的,所以我猜是这样的:
public synchronized void registerPlayer(Player p)
{
p.setRegistrationId(registrationID++);
players.add(p);
}
2
一种解决方案是使用Map
,其相关联与特定玩家的个人ID,作为键值对,而不是List
:
public class Club
{
private String clubName;
private int registrationID;
private Map<Player, Integer> players;
/**
* Create a club with given club name.
*/
public Club(String clubName)
{
players = new HashMap<Player, Integer>();
this.clubName = clubName;
registrationID = 1;
}
public void registerPlayer(Player p)
{
// check if player is already in the club:
if (!players.containsKey(p)) {
players.put(p, new Integer(registrationID));
// increment ID counter:
registrationID++;
}
}
public void listAll()
{
for (Player p : players.keySet()) {
System.out.println(p);
}
}
}
0
尝试再创建一个类:
public class Registration() {
private Player player;
private String registrationId;
public Registration(Player p) {
// Assign p to player
// Generate the registration ID
}
}
然后只需要ArrayList<Registration> registrations
来保存所有这些。然后您的listAll()
方法将需要引用i.getNext().getPlayer()
来执行相同的操作。
0
我猜测玩家有一个你想在添加到数组列表后设置的ID字段?
如果您知道播放器的索引,只需使用get
方法获取对象并设置ID。如果你没有索引,你将不得不遍历数组列表来找到你的对象。
相关问题
- 1. 将网页中的元素添加到java中的ArrayList中
- 2. 添加到ArrayList的元素
- 3. 将元素添加到Java中的私有Arraylist中
- 4. 将元素添加到ArrayList中
- 5. 如何ArrayList中的所有元素添加到另一个的ArrayList在java中
- 6. 将元素添加到java中的ArrayList的开头
- 7. 将元素添加到java 1.4中的haspmap里面的arraylist
- 8. Java中的ADT理解 - 将元素添加到Arraylist的尾部
- 9. arrayList中的所有元素在java中添加到arrayList时为null
- 10. Java添加到arrayList中已有的元素
- 11. 将元素添加到Arraylist并替换Java中的所有元素
- 12. 如何在Java中添加更改变量元素到ArrayList
- 13. 在Java中使用Iterator时将元素添加到ArrayList
- 14. 将元素添加到ArrayList并从ArrayList中删除元素的实现
- 15. Java - 如何遍历ArrayList添加元素?
- 16. ArrayList中的Java null元素
- 17. 查找元素,并添加到ArrayList的
- 18. 定期将元素添加到ArrayList的
- 19. 如何访问(修改,添加元素)到Java中的Inner类中的ArrayList/Collection?
- 20. 修改Arraylist的元素并将其添加到ArrayList的另一个ArrayList中
- 21. 将枚举中的所有元素添加到ArrayList中
- 22. 无法将元素添加到Groovy中的新ArrayList中
- 23. ArrayList不添加元素
- 24. 添加空格到一个ArrayList元素
- 25. 要添加一个元素到arraylist
- 26. 如何将元素添加到ArrayList
- 27. 添加到ArrayList Java
- 28. Java ArrayList元素被上次添加元素
- 29. 将对象添加到ArrayList中的Java
- 30. 添加到ArrayList的在Java中
你的Player类是怎么样的? Player类有一个int int registrationId属性吗? – Kent 2012-03-26 16:52:50
你的'Player'类是什么样的?如果我可以假设'Player.setRegID(int)'是被定义的,那么它会很简单。 – nobeh 2012-03-26 16:53:32
您的模型不需要您自己增加注册ID。每次向球员添加新对象时,阵列列表大小将自动递增。你可以通过players.size()获得大小。 如果你想问一个当前玩家对象有哪个ID,可以调用players.indexOf(player)。 – andreasg 2012-03-26 16:54:32