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");