如何在Arraylist中声明String []?

时间:2016-06-17 09:24:49

标签: java android arrays arraylist multidimensional-array

如何在Arraylist中声明String []?例如,我有一个未知/不同数量的电影/预告片对。因此,对于arraylist中的每个项目,我希望有一个带有电影名称的String []和预告片url。 我尝试了类似下面的一些东西,但它们不起作用:

   private ArrayList<String[2]> movieArray= new ArrayList<>();

7 个答案:

答案 0 :(得分:7)

如何使用模型:

$scope.groups = {
 $: [
  {
    attributes: {email: '$mail@mail.com'}
  },
  {
    attributes: {email: '$mail2@mail.com'}
  }
 ],
 C: [
  {
    attributes: {email: 'cmail@mail.com'}
  },
  { 
    attributes: {email: 'cmail2@mail.com'}
  }
 ]
};

然后宣布:

public class Movie
{
  private String movieName;
  private String trailerUrl;

  public void setMovieName ( String movieName ) 
  {
    this.movieName = movieName;
  }

  public void setTrailerUrl ( String trailerUrl) 
  {
    this.trailerUrl= trailerUrl;
  }

  public void getMovieName () 
  {
    return movieName;
  }

  public void getTrailerUrl () 
  {
    return trailerUrl;
  }

}

如果要添加一组数据。这样做:

private ArrayList<Movie> movieArrayList = new ArrayList<>(); 

答案 1 :(得分:4)

你可以这样做:

ArrayList<List<String>> movieArray = new ArrayList<>();

List<String> movie = new ArrayList<>();
movie.add("name");
movie.add("url");
movieArray.add(movie);

修改

public class Movie {
    private String name;
    private String url;

    public Movie(String name, String url){
        this.name = name;
        this.url = url;
    }

    // getter / setter
}

List<Movie> movies = new ArrayList<>();

movies.add(new Movie("name", "url"));
movies.add(new Movie("name2", "url2"));

答案 2 :(得分:3)

试试这个

List<String[]> movieArray = new ArrayList<>();

movieArray(new String[] {"trailer1", "trailer2", "..."});

答案 3 :(得分:2)

您可以按如下方式声明String数组的arrayList:

  private ArrayList<String[]> movieArray= new ArrayList<>();
  String[] trailer= new String[3];
  trailer[0] = "Trailer0";
  trailer[1] = "Trailer1";
  movieArray.add(trailer);

快乐编码!!!

答案 4 :(得分:2)

这对于可变大小的字符串数组很有帮助。

尝试这样做:

func fetchImage(asset: PhotoAsset, size: CGSize, resizeMode: ResizeMode = .Exact, completion: (result: UIImage?) -> Void) {
        let photoAsset = asset as! PHAsset
        var options: PHImageRequestOptions?
        switch resizeMode {
            case .Exact:
                options = PHImageRequestOptions()
                options?.resizeMode = .Exact
            case .Default:
                options = nil
        }
        manager.requestImageForAsset(
            photoAsset,
            targetSize: PHImageManagerMaximumSize,
            contentMode: .AspectFill,
            options: options
        ) { [weak self] result, _ in
            completion(result: result)
        }
    }

答案 5 :(得分:2)

这应该有效

List<String[]> movieArray= new ArrayList<>();

我建议创建一个Movie模型并使用如下所示。

List<Movie> movieArray= new ArrayList<>();

如果您真的不想创建模型,可以创建如下所示的地图列表。

List<Map> movieArray = new ArrayList<>();

以上,您可以将属性存储在地图中并访问它。

答案 6 :(得分:1)

private ArrayList<String[]> movieArray= new ArrayList<>();