映射两个不同大小的ArrayList

时间:2014-02-26 08:42:57

标签: 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

4 个答案:

答案 0 :(得分:1)

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个对象

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

答案 1 :(得分:0)

我认为你应该使用:

List<List<T>> = ArrayList<ArrayList<T>>;

T是您UserName的类。

答案 2 :(得分:0)

有一种更好的方法,即使用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>();

现在使用userKey,您可以访问其相应的userData;

示例:

User user = users.get("yourKey");

答案 3 :(得分:0)

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