Java 映射两个具有不同大小的ArrayList

Java 映射两个具有不同大小的ArrayList,java,android,arraylist,map,hashmap,Java,Android,Arraylist,Map,Hashmap,例如: ArrayList1 = {userid1, userid2, userid1, userid4, userid1, userid3, userid2, userid4, userid4, userid4, userid2}; ArrayList2 = {username1, username2, username3, username4}; 映射这两个数组,以便无论何时调用ArrayList1.get(0).getUserName(),它都应该为我提供username1,我认为您应

例如:

ArrayList1 = {userid1, userid2, userid1, userid4, userid1, userid3, userid2, userid4, userid4, userid4, userid2};

ArrayList2 = {username1, username2, username3, username4};

映射这两个数组,以便无论何时调用
ArrayList1.get(0).getUserName()
,它都应该为我提供
username1

,我认为您应该使用:

List<List<T>> = ArrayList<ArrayList<T>>;
List=ArrayList;
T是您的用户名类别

public class User {
        String username;

        public User(String username)
        {
            this.username = username;
        }
        /**
         * @return the username
         */
        public String getUsername() {
            return username;
        }

        /**
         * @param username the username to set
         */
        public void setUsername(String username) {
            this.username = username;
        }
    }
userid1,userid2
。。。必须是
用户
对象

User userid1 = new User("username1");    
User userid2 = new User("username2");   
初始化所有用户对象

ArrayList1 = {userid1, userid2, userid1, userid4, userid1, userid3, userid2, userid4, userid4, userid4, userid2};
然后你可以打电话

   String username =  ArrayList1.get(0).getUserName();

这将返回
username1

有一种更好的方法,那就是使用
HashMap

//create your custom object which will be mapped
public class User{
  public String userId;
  public String userName;
}


ArrayList<String> userKeys = new ArrayList<String>();
HashMap<String, User> users = new HashMap<String, User>();

使用HashSet而不是arraylist。设置不允许重复。

请显示您的尝试。如果您同意,请标记为答案。但是如果列表是动态的,我无法手动添加所有用户名字符串!这只是一个样本。如果您有一个类似“User”类的模型类,您可以动态地为“User”类创建对象,并将其保存在“ArrayList”中。如果这个答案有用,请投赞成票。
User user = users.get("yourKey");