【问题标题】:How to access an element of an array and that array is an element of an ArrayList?如何访问数组的元素并且该数组是 ArrayList 的元素?
【发布时间】:2017-11-24 18:52:38
【问题描述】:

我不是 Java 专业人士,但我已尽力而为。我的代码读取一个文本文件,然后将其放入一个数组中,然后将其每个索引放入一个数组列表中,但我的问题是我必须访问该数组的一个元素,因为我的数组看起来像这样(姓名,姓氏,quiz1,quiz2, midterm, project, final, average) 实际上我的 ArrayLists 第一个元素是这样的,例如,我尝试访问期中结果,然后将其打印到表格中。

static List<Assign2> studentList = new ArrayList<>();
public static void main(String [] args) throws IOException{
        new myClass();


        File here = new File(".");
        System.out.println(here.getAbsolutePath());
        BufferedReader reader = new BufferedReader(new FileReader("A.txt"));
        String line= reader.readLine();
        String[] arr =line.split(",");


        Object[] data = {arr[0],arr[1],arr[2],arr[3]};
        //studentList.add(Arrays.asList(data));



    }
public static void table(List<myClass> b){
            System.out.printf("%-20s %-20s %-20s %-20s %-20s %-20s %-20s %-20s %-20s %-20s", "NAME","LAST NAME","ID","QUIZ1","QUIZ2","PROJECT","MIDTERM","FINAL","AVERAGE","LETTER GRADE");
            System.out.println();
            System.out.println("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
            for(int i=0;i<b.size();i++){
                System.out.printf("%-20s %-20s %-20s %-20s %-20s %-20s %-20s %-20s %-20s %-20s",b.get(i).getName(),b.get(i).getLastName(),b.get(i).getID(),b.get(i).getQuiz1(),b.get(i).getQuiz2(),b.get(i).getProject(),b.get(i).getMidterm(),b.get(i).getFinalGrade(),b.get(i).getAverage(),b.get(i).getLetterGrade());
                System.out.println();
            }
        }

【问题讨论】:

  • Java ArrayList Index的可能重复
  • 没有我的不是重复的,因为在这些例子中他们只选择整数,字符串但我的是我的类名,因为它有整数和字符串@Artemis
  • 对象[] 数据 = {arr[0],arr[1],arr[2],arr[3]};对象接收者=数据[0];这个?
  • 如果您的文件内容是数据,那么您可以定义代表数据的类并拥有该类型的集合并使用Java Stream API
  • 整个事情一团糟,想法、过程、代码、答案也是。您将 multiple XY problems 嵌套到另一个中。从头开始,思路清晰,然后把每一个问题分解成一个原子步骤,解决问题,进入下一步,结果就是解决了很多小问题的总和,最终得到可以理解的工作代码

标签: java arrays arraylist text-files


【解决方案1】:

创建一个保存变量(姓名、姓氏等)的类,然后创建该类类型的 ArrayList (ArrayList) 并调用所需的项目并访问您需要的数据不是更容易吗

【讨论】:

  • 当然!我认为是最好的方法。
  • @Lioxa 你是什么意思?嗯?你肯定错了
  • @Mr.AF 我的方法没有二维数组。使用所需的变量创建一个类,将信息保存到类并将其添加到类类型的 ArrayList 中更容易。
【解决方案2】:

你应该这样做:

List<myClass> studentList = new ArrayList<>();

myClass obj=new myClass();

studentList.Add(obj);

...

for(int i=0;i<studentList.Count;i++)
{
  myClass studentObject=studentList[index];
  // do staff
}

【讨论】:

  • 不,我的数组列表是这样的 static List studentList = new ArrayList();
  • 对于索引部分我应该写一个for循环吗?
  • @Ekin 获取您的列表项计数并根据计数创建一个 for 循环
  • 但是在循环中它不能打印出来它什么都不需要,因为在你的代码中没有数据数组
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-07
  • 2021-12-24
  • 1970-01-01
相关资源
最近更新 更多