如何在Java中执行此Mutaliarray设置?

如何在Java中执行此Mutaliarray设置?,java,php,android,arrays,arraylist,Java,Php,Android,Arrays,Arraylist,我有PHP的背景,我刚刚开始学习Java。我想知道如何在Java中尽可能简单地实现以下内容,只需通过常用的“System.out.print()”方法将结果回显到终端 我听说有“列表迭代器”之类的东西非常适合在这样的数据中滚动。也许可以用它来实施 在本例中,一个完全工作的.java文件最为方便,包括如何像上面那样从数组中添加和删除项 另外,我确实计划在遥远的将来将其用于Android应用程序,因此,希望它也能在Android上正常工作,不过,我认为这类事情适用于任何与Java相关的应用程序:

我有PHP的背景,我刚刚开始学习Java。我想知道如何在Java中尽可能简单地实现以下内容,只需通过常用的“
System.out.print()
”方法将结果回显到终端


我听说有“列表迭代器”之类的东西非常适合在这样的数据中滚动。也许可以用它来实施

在本例中,一个完全工作的
.java
文件最为方便,包括如何像上面那样从数组中添加和删除项


另外,我确实计划在遥远的将来将其用于Android应用程序,因此,希望它也能在Android上正常工作,不过,我认为这类事情适用于任何与Java相关的应用程序:)。

您可以先创建一个定义数据结构的类,然后构建这些对象的
ArrayList
,以实际存储值
ArrayList
是Java中可用的许多
Collection
之一,它提供了许多方法来迭代它们并添加或删除项

例如:你的班级可能看起来像:

class Movie{

String title;
String run_time;
String cert;
...//getter,setter methods for these instance variables/fields
}

// you then create movie objects and populate some data in them
Movie one = new Movie();

one.setTitle("No Country for..");
one.setRunTime("122 mins");
one.setCert("15");

//create arrayList to store movie objects
ArrayList<Movie> list = new ArrayList<Movie>();

//add item to list
list.add(one);

// iterate over arrayList to get values
for(Movie item:list){
System.out.println(item.getTitle());
}
类电影{
字符串标题;
字符串运行时间;
字符串证书;
…//这些实例变量/字段的getter、setter方法
}
//然后创建电影对象并在其中填充一些数据
电影一=新电影();
一、setTitle(“无……国家”);
1.setRunTime(“122分钟”);
一、setCert(“15”);
//创建arrayList以存储电影对象
ArrayList=新建ArrayList();
//将项目添加到列表中
列表。添加(一个);
//迭代arrayList以获取值
用于(电影项目:列表){
System.out.println(item.getTitle());
}

参考资料:

如果我在Java中这样做,我会做以下更改:

  • 制作一个
    Movie
    类来封装关于电影的数据
  • 使用
    List
    s代替本机数组
  • 电影
    类的外观可能如下所示:

    public class Movie {
    
        public final String title;
        public final int runtime;
        public final int cert;
    
        public Movie(String title, int runtime, int cert) {
            this.title = title;
            this.runtime = runtime;
            this,cert = cert;
        }
    }
    
    然后你可以列一个电影列表,如下所示:

    List<Movie> movies = new ArrayList<Movie>();
    movies.add(new Movie("Some Movie", 120, 15);
    movies.add(new Movie("Another Movie", 90, 18);
    
    movies.remove(0);
    
    您可以像这样迭代它们:

    for (Movie m: movies) {
        System.out.println("Title: " + m.title + 
                           ", Runtime: " + m.runtime + 
                           ", Cert: " + m.cert);
    }
    
    如果您想从列表中获得具体内容,可以执行以下操作:

    Movie the2ndOne = movies.get(1);
    System.out.println("Title: " + the2ndOne.title); // or
    System.out.println("Title: " + movies.get(0).title);
    
    要查看整个
    列表
    ,只需执行以下操作:

    System.out.println(movies.toString());
    
    注意:这假设
    Movie
    类有一个为其编写的intelegent
    toString()
    方法

    有关我上面显示的
    列表
    s的更多参考,请查看它们上的

    在使用OO语言编写时,应该使用OO原则


    阅读这个问题和我对它的回答也可能有帮助。非常相似的是,你们两个都试图用数组来做一些事情,而这些数组更适合使用类来提供服务。

    @Justin:你比我快了一分钟!:)+1因为您的代码是complete@Samuh哈事实上你比我领先了35秒。这看起来是王牌!!非常感谢!最后一个问题是,一旦具体的事情被列入清单,我还能重复它们吗??在PHP中,我通常会这样做:是的,我将编辑我的答案以添加更多信息。但简而言之,使用
    list.get(index)
    获取特定元素@我还有最后一个问题。在PHP中有一个Print_r函数,它向我显示整个数组。有没有类似的方法可以让我得到整个列表的一个简单字符串(包括所有添加的电影)?否则,这绝对是完美的!!!
    System.out.println(movies.toString());