Java 如何使调用多个ListIterator更有效?

Java 如何使调用多个ListIterator更有效?,java,Java,所以我的问题是,是否有可能通过使用一个带有列表名(foodList、foodAmount等)的数组来简化这段代码,而不是使用列表名(来自所述数组)在迭代器中替换它们的占位符来进行某种循环 代码如下: public static void writeFile()引发IOException{ ListIterator foodIterator=GrocerieList.foodList.ListIterator(0); ListIterator foodAmountIterator=Grocerie

所以我的问题是,是否有可能通过使用一个带有列表名(foodList、foodAmount等)的数组来简化这段代码,而不是使用列表名(来自所述数组)在迭代器中替换它们的占位符来进行某种循环

代码如下:

public static void writeFile()引发IOException{
ListIterator foodIterator=GrocerieList.foodList.ListIterator(0);
ListIterator foodAmountIterator=GrocerieList.foodAmount.ListIterator(0);
ListIterator-drinkIterator=GrocerieList.drinkList.ListIterator(0);
ListIterator-drinkAmountIterator=GrocerieList.drinkAmount.ListIterator(0);
FileWriter=newfilewriter(“/Users/c-mon/IdeaProjects/final/src/shoppingList.txt”);
//食物
作家。写(“食物清单”);
writer.write(System.getProperty(“line.separator”);
if(foodIterator.hasNext()){
做{
write.write(foodIterator.next());
writer.write(System.getProperty(“line.separator”);
}while(foodIterator.hasNext());
}否则{
writer.write(“空”);
writer.write(System.getProperty(“line.separator”);
}
作者:写(“foodAmount”);
writer.write(System.getProperty(“line.separator”);
if(foodAmountIterator.hasNext()){
做{
write(foodAmountIterator.next()+);
writer.write(System.getProperty(“line.separator”);
}while(foodAmountIterator.hasNext());
}否则{
writer.write(“空”);
writer.write(System.getProperty(“line.separator”);
}
//饮料
作家。写作(“饮酒者”);
writer.write(System.getProperty(“line.separator”);
if(drinkIterator.hasNext()){
做{
write.write(drinkIterator.next());
writer.write(System.getProperty(“line.separator”);
}while(drinkIterator.hasNext());
}否则{
writer.write(“空”);
writer.write(System.getProperty(“line.separator”);
}
作家。写作(“drinkAmount”);
writer.write(System.getProperty(“line.separator”);
if(drinkAmountIterator.hasNext()){
做{
write(drinkAmountIterator.next()+);
writer.write(System.getProperty(“line.separator”);
}while(drinkAmountIterator.hasNext());
}否则{
writer.write(“空”);
writer.write(System.getProperty(“line.separator”);
}
writer.close();
}
这是声明列表的地方

import java.util.ArrayList;
import java.util.ListIterator;

public class GrocerieList {

    static ArrayList<String> foodList = new ArrayList<>();
    static ArrayList<String> hygieneList = new ArrayList<>();
    static ArrayList<String> drinkList = new ArrayList<>();
    static ArrayList<String> otherList = new ArrayList<>();

    static ArrayList<Integer> foodAmount = new ArrayList<>();
    static ArrayList<Integer> hygieneAmount = new ArrayList<>();
    static ArrayList<Integer> drinkAmount = new ArrayList<>();
    static ArrayList<Integer> otherAmount = new ArrayList<>();

    public static void foodOutput (){
        ListIterator<String> foodListIterator = foodList.listIterator(0);
        ListIterator<Integer> foodAmountIterator = foodAmount.listIterator(0);

        if(foodListIterator.hasNext()){
            System.out.println("\t" + "Food");
            do {
                System.out.println("\t" + foodAmountIterator.next() + "\t\t" + "\t--\t" + "\t\t" + foodListIterator.next());
            }while (foodListIterator.hasNext());
            System.out.println(" ");
        }else{
            System.out.println("\t" + "Food");
            System.out.println("\t" + "No food on your list");
            System.out.println(" ");
        }
    }
    public static void drinkOutput (){
        ListIterator<String> drinkListIterator = drinkList.listIterator(0);
        ListIterator<Integer> drinkAmountIterator = drinkAmount.listIterator(0);

        if(drinkListIterator.hasNext()){
            System.out.println("\t" + "Drinks");
            do {
                System.out.println("\t" + drinkAmountIterator.next() + "\t\t" + "\t--\t" + "\t\t" + drinkListIterator.next());
            }while (drinkListIterator.hasNext());
            System.out.println(" ");
        }else{
            System.out.println("\t" + "Drinks");
            System.out.println("\t" + "No drinks on your list");
            System.out.println(" ");
        }
    }
    public static void hygieneOutput (){
        ListIterator<String> hygieneListIterator = hygieneList.listIterator(0);
        ListIterator<Integer> hygieneAmountIterator = hygieneAmount.listIterator(0);

        if(hygieneListIterator.hasNext()){
            System.out.println("\t" + "Hygiene");
            do {
                System.out.println("\t" + hygieneAmountIterator.next() + "\t\t" + "\t--\t" + "\t\t" + hygieneListIterator.next());
            }while (hygieneListIterator.hasNext());
            System.out.println(" ");
        }else{
            System.out.println("\t" + "Hygiene");
            System.out.println("\t" + "No hygiene products on your list");
            System.out.println(" ");
        }
    }
    public static void otherOutput (){
        ListIterator<String> otherListIterator = otherList.listIterator(0);
        ListIterator<Integer> otherAmountIterator = otherAmount.listIterator(0);

        if(otherListIterator.hasNext()){
            System.out.println("\t" + "Other products");
            do {
                System.out.println("\t" + otherAmountIterator.next() + "\t\t" + "\t--\t" + "\t\t" + otherListIterator.next());
            }while (otherListIterator.hasNext());
            System.out.println(" ");
        }else{
            System.out.println("\t" + "Other Products");
            System.out.println("\t" + "No other products on your list");
            System.out.println(" ");
        }
    }

    public static void rewe (){
        System.out.println("########################################");
        System.out.println(" ");
        System.out.println("Here is your REWE shopping list!");
        System.out.println(" ");
        System.out.println("\t" + "Qty" + "\t\t" + "\t--\t" + "\t\t" + "Product");
        System.out.println(" ");
        foodOutput();
        drinkOutput();
        hygieneOutput();
        otherOutput();
        System.out.println(" ");
        System.out.println("########################################");
    }
    public static void lidl (){
        System.out.println("########################################");
        System.out.println(" ");
        System.out.println("Here is your LIDL shopping list!");
        System.out.println(" ");
        System.out.println("\t" + "Qty" + "\t\t" + "\t--\t" + "\t\t" + "Product");
        System.out.println(" ");
        drinkOutput();
        foodOutput();
        otherOutput();
        hygieneOutput();
        System.out.println(" ");
        System.out.println("########################################");
    }
    public static void edeka (){
        System.out.println("########################################");
        System.out.println(" ");
        System.out.println("Here is your EDEKA shopping list!");
        System.out.println(" ");
        System.out.println("\t" + "Qty" + "\t\t" + "\t--\t" + "\t\t" + "Product");
        System.out.println(" ");
        foodOutput();
        hygieneOutput();
        otherOutput();
        drinkOutput();
        System.out.println(" ");
        System.out.println("########################################");
    }
    public static void aldi (){
        System.out.println("########################################");
        System.out.println(" ");
        System.out.println("Here is your ALDI shopping list!");
        System.out.println(" ");
        System.out.println("\t" + "Qty" + "\t\t" + "\t--\t" + "\t\t" + "Product");
        System.out.println(" ");
        drinkOutput();
        foodOutput();
        hygieneOutput();
        otherOutput();
        System.out.println(" ");
        System.out.println("########################################");
    }
    public static void kaufland (){
        System.out.println("########################################");
        System.out.println(" ");
        System.out.println("Here is your KAUFLAND shopping list!");
        System.out.println(" ");
        System.out.println("\t" + "Qty" + "\t\t" + "\t--\t" + "\t\t" + "Product");
        System.out.println(" ");
        foodOutput();
        otherOutput();
        drinkOutput();
        hygieneOutput();
        System.out.println(" ");
        System.out.println("########################################");
    }

    }
import java.util.ArrayList;
导入java.util.ListIterator;
公营杂货店{
静态ArrayList foodList=新建ArrayList();
静态ArrayList卫生学列表=新ArrayList();
静态ArrayList drinkList=新ArrayList();
静态ArrayList otherList=新建ArrayList();
静态ArrayList foodAmount=新ArrayList();
静态ArrayList hygieneAmount=新ArrayList();
静态ArrayList drinkAmount=新ArrayList();
静态ArrayList otherAmount=新ArrayList();
公共静态void foodOutput(){
ListIterator foodListIterator=foodList.ListIterator(0);
ListIterator foodAmountIterator=foodAmount.ListIterator(0);
if(foodListIterator.hasNext()){
System.out.println(“\t”+“Food”);
做{
System.out.println(“\t”+foodAmountIterator.next()+”\t\t“+”\t--\t”+“\t\t”+foodListIterator.next());
}while(foodListIterator.hasNext());
System.out.println(“”);
}否则{
System.out.println(“\t”+“Food”);
System.out.println(“\t”+“您的列表上没有食物”);
System.out.println(“”);
}
}
公共静态void drinkOutput(){
ListIterator-drinkListIterator=drinkList.ListIterator(0);
ListIterator-drinkAmountIterator=drinkAmount.ListIterator(0);
if(drinkListIterator.hasNext()){
System.out.println(“\t”+“饮料”);
做{
System.out.println(“\t”+drinkAmountIterator.next()+”\t\t“+”\t--\t”+“\t\t”+drinkListIterator.next());
}while(drinkListIterator.hasNext());
System.out.println(“”);
}否则{
System.out.println(“\t”+“饮料”);
System.out.println(“\t”+“您的列表上没有饮料”);
System.out.println(“”);
}
}
公共静态空隙卫生输出(){
ListIterator HygieneListaterator=hygieneList.ListIterator(0);
ListIterator hygieneAmountIterator=hygieneAmount.ListIterator(0);
if(hygieneListIterator.hasNext()){
System.out.println(“\t”+“卫生”);
做{
System.out.println(“\t”+hygieneAmountIterator.next()+”\t\t“+”\t--\t”+“\t\t”+hygieneListIterator.next());
}while(hygieneListIterator.hasNext());
System.out.println(“”);
}否则{
System.out.println(“\t”+“卫生”);
System.out.println(“\t”+“您的列表上没有卫生产品”);
System.out.println(“”);
}
}
公共静态输出(){
ListIterator otherListIterator=otherList.ListIterator(0);
ListIterator otherAmountIterator=otherAmount.ListIterator(0);
if(otherListIterator.hasNext()){
System.out.println(“\t”+“其他产品”);
做{
System.out.println(“\t”+otherAmountIterator.next()+”\t\t“+”\t--\t”+“\t\t”+otherListIterator.next());
}while(otherListIterator.hasNext());
System.out.println(“”);
}否则{
System.out.println(“\t”+“其他产品”);
System.out.println(“\t”+“列表中没有其他产品”);
System.out.println(“”);
}
}
公共静态无效rewe(){
3.系统。输出。系统。输出。印刷LN(系统。系统。系统。输出。系统。输出。印印印(“(“(“联合35)))系统。系统。系统。系统。系统。系统。系统。系统。系统。输出。系统。系统。输出。系统。输出。系统。印印民民民民民方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方""""",;
System.out.println(“”);
System.out.println(“这是您的R