Java 通过列表<;字符串>;作为参数

Java 通过列表<;字符串>;作为参数,java,Java,我有一个函数 public class PlayerManager { public PlayerManager(List<String> players){ //something to manipulate the player list.. } private static class PlayerNode { public String name; public PlayerNode next; //

我有一个函数

public class PlayerManager {
    public PlayerManager(List<String> players){
    //something to manipulate the player list..
    }
    private static class PlayerNode {
      public String name;    
      public PlayerNode next;
      //...
    }
}
但是分配要求说我不能构造任何数组、数组列表、链接列表、堆栈、队列或其他数据结构

所以我的问题是,如果我不能创建任何类实现的列表接口。如何处理其中的数据


感谢

从它的声音来看,您将在方法中传递某种列表,因此您可以执行以下操作:

public class PlayerManager {
    public PlayerManager(List<String> players){
         for(String player : players){
             //do something with your player
         }
    }
}
公共类PlayerManager{
公共玩家管理员(列出玩家){
用于(弦乐演奏者:演奏者){
//对你的球员做点什么
}
}
}

这将允许您在不知道将要使用什么数据结构的情况下对玩家列表进行处理

首先,请解释“处理数据”的含义,以及数组会给您哪些列表没有的信息?在您的示例中,您正在创建一个数组。完全不能使用任何数据结构真的会让你陷入困境。您想对数据做什么?通常情况下,
列表
是比数组更有用的数据类型。为什么需要转换它?如果是关于将
ArrayList
转换为
String[]array
。然后
String[]playerArray=新字符串[players.size()];playerray=玩家。toArray(playerray)
您可以访问字符串数组,如
for(string s:playerary)System.out.println(s)
你不需要将
玩家
转换成任何东西。只需开始调用
列表
界面中指定的方法。您不会违反分配限制。谢谢。但是为什么我可以直接使用列表而不实例化实现它的类呢?调用PlayerManager构造函数的任何人/任何人都已经实例化了某种列表,然后通过“players”参数将其传入。您并不确切知道它是什么列表实现(ArrayList、LinkedList等),但您知道它是某种列表,因此您可以将其视为一个列表,这样您就可以对其使用基本的最低公分母列表功能。
public class PlayerManager {
    public PlayerManager(List<String> players){
         for(String player : players){
             //do something with your player
         }
    }
}