将Array转换为ArrayList

时间:2014-11-28 03:06:11

标签: java arrays arraylist

我通过使用数组来创建一个引用索引来实现一个接口。我是一名新程序员,想学习如何将当前的Array实现转换为ArrayList实现。到目前为止,这是我的代码。我如何在printCitationIndex()方法中使用ArrayLists而不是Arrays?

    import java.util.ArrayList;

    public class IndexArrayList implements IndexInterface{
      ArrayList<Citation> citationIndex = new ArrayList<Citation>();
      private String formatType;
      private int totalNumCitations, numKeywords;
      ArrayList<Keyword> keywordIndex = new ArrayList<Keyword>();


    public void printCitationIndex(){
    // Pre-condition - the index is not empty and has a format type
    //Prints out all the citations in the index formatted according to its format type.  
   //Italicization not required
      if (!this.formatType.equals("")) {
        if (!isEmpty()) {
            for (int i = 0; i < citationIndex.length; i++) {
                if (citationIndex[i] != null) {
                    if (this.formatType.equals("IEEE")) {
                        System.out.println(citationIndex[i].formatIEEE());
                    } else if (this.formatType.equals("APA")) {
                        System.out.println(citationIndex[i].formatAPA());
                    } else if (this.formatType.equals("ACM")) {
                        System.out.println(citationIndex[i].getAuthorsACM());
                    }
                }
            }
        } else {
            System.out.println("The index is empty!");
        }
    } else {
        System.out.println("The index has no format type!");
    }
}

}

2 个答案:

答案 0 :(得分:1)

最好为此使用增强型for循环(它也适用于数组,因此如果您之前找到它,语法与数组和列表相同)< / p>

        for (Citation citation : citationIndex) {
            if (citation != null) {
                if (this.formatType.equals("IEEE")) {
                    System.out.println(citation.formatIEEE());
                } else if (this.formatType.equals("APA")) {
                    System.out.println(citation.formatAPA());
                } else if (this.formatType.equals("ACM")) {
                    System.out.println(citation.getAuthorsACM());
                }
            }
        }

答案 1 :(得分:1)

for(Citation c:citationIndex){
    if(c!=null){
    //...code here
    }
}

for (int i = 0; i < citationIndex.size(); i++) {
    if (citationIndex.get(i) != null) {
        //...code here
    }
}