添加两个ArrayList中,以包含HashMap的一个ArrayList的两个、ArrayList、HashMap

由网友(拽的闪闪亮)分享简介:我有两个的ArrayList ,我想拍一部的ArrayList 加入他们,两个列表具有相同的大小我会做这种方式。 这是最优化或者我可以使它更好和更有效时,列出变大?即。 私人的ArrayList<位图>镜像文件=新的ArrayList<位图>();imageFile.add(XY);imageF...

我有两个的ArrayList ,我想拍一部的ArrayList 加入他们,两个列表具有相同的大小

我会做这种方式。

这是最优化或者我可以使它更好和更有效时,列出变大?

即。

 私人的ArrayList<位图>镜像文件=新的ArrayList<位图>();

    imageFile.add(XY);
    imageFile.add(AB);
    imageFile.add(CD);

    私人的ArrayList< MediaPlayer的> musicFile =新的ArrayList< MediaPlayer的>();

    musicFile.add(毫米);
    musicFile.add(NN);
    musicFile.add(Ⅱ);

    私人的HashMap<位图,MediaPlayer的> mappedFiles =新的HashMap<位图,MediaPlayer的>();

    mappedFiles.put(imageFile.get(i)中,musicFile.get(i))的


    私人的ArrayList< HashMap的<位图,MediaPlayer的>> imageMusic =新的ArrayList< HashMap的<位图,MediaPlayer的>>();

   imageMusic.add(mappedFiles);
 

解决方案

根据您的意见,你不想地图可言,你想要的类和列表:

 公共类轨道{
    私人最终字符串名称;
    私人最终MediaPlayer的音乐;
    公共轨道(字符串名称,MediaPlayer的音乐){
        this.name =名称;
        this.music =音乐;
    }
    //干将省略
}

公共类CD {
    私人最终字符串名称;
    私人最终位图图像;
    私人最终名单,其中,轨道>轨道=新的ArrayList<轨道>();
    公共CD(字符串名称,位图图像){
        this.name =名称;
        this.image =图像;
    }
    公开名单<轨道> getTracks(){
        返回轨道;
    }
    //其他干将省略
}
 
ArrayList LinkedList以及HashMap

然后

 名单,其中,CD> CDS =新的名单,其中,CD>();
CD CD =新专辑(Thriller的,someBitMap);
。cd.getTracks()增加(新轨道(我不好,someMusic));
cds.add(CD);
 

I have two ArrayList and I want to make one ArrayList by adding them, both lists have same size

I am going to do it this way.

Is this optimized or can I make it better and efficient when the lists become large?

i.e.

    private ArrayList<Bitmap> imageFile= new ArrayList<Bitmap>();

    imageFile.add(xy); 
    imageFile.add(ab);
    imageFile.add(cd);

    private ArrayList<MediaPlayer> musicFile= new ArrayList<MediaPlayer>();

    musicFile.add(mm);
    musicFile.add(nn);
    musicFile.add(ll);

    private HashMap<Bitmap, MediaPlayer> mappedFiles= new HashMap<Bitmap, MediaPlayer>();

    mappedFiles.put(imageFile.get(i),musicFile.get(i))


    private ArrayList<HashMap<Bitmap, MediaPlayer>> imageMusic= new ArrayList<HashMap<Bitmap, MediaPlayer>>();

   imageMusic.add(mappedFiles);

解决方案

Based on your comment, you don't want a map at all, you want classes and Lists:

public class Track {
    private final String name;
    private final MediaPlayer music;
    public Track (String name, MediaPlayer music) {
        this.name = name;
        this.music = music;
    }
    // getters omitted
}

public class CD {
    private final String name;
    private final BitMap image; 
    private final List<Track> tracks = new ArrayList<Track>();
    public CD (String name, BitMap image) {
        this.name = name;
        this.image = image;
    }
    public List<Track> getTracks() {
        return tracks;
    } 
    // other getters omitted
}

Then

List<CD> cds = new List<CD>();
CD cd = new CD("Thriller", someBitMap);
cd.getTracks().add(new Track("I'm bad", someMusic));
cds.add(cd);

阅读全文

相关推荐

最新文章