Java等效的C#ArrayList

时间:2014-10-22 10:53:13

标签: java c# arraylist

我将C#代码转换为Java代码。

ArrayList用在那个C#代码中。

我应该直接在Java代码中使用ArrayList for C#ArrayList吗?

当我直接使用时,我收到此警告:

  

ArrayList是原始类型。对泛型类型ArrayList的引用   应该参数化。

我应该做些什么改变?

我的C#Arraylist:

private System.Collections.ArrayList _lines = new System.Collections.ArrayList();
        public System.Collections.ArrayList Lines
        {
            get { return lines; }
        }

感谢。

3 个答案:

答案 0 :(得分:2)

Java 中的

ArrayList 需要进行参数化。您必须定义数据类型。请参阅以下行以声明ArrayList

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

arrayList.add("item1");
...

答案 1 :(得分:2)

ArrayList也可用于 Java

请参阅Javadocs here以及其他教程here

实施例

import java.util.*;

public class ArrayListDemo {
   public static void main(String args[]) {
      // create an array list
      ArrayList al = new ArrayList();
      System.out.println("Initial size of al: " + al.size());

      // add elements to the array list
      al.add("C");
      al.add("A");
      al.add("E");
      al.add("B");
      al.add("D");
      al.add("F");
      al.add(1, "A2");
      System.out.println("Size of al after additions: " + al.size());

      // display the array list
      System.out.println("Contents of al: " + al);
      // Remove elements from the array list
      al.remove("F");
      al.remove(2);
      System.out.println("Size of al after deletions: " + al.size());
      System.out.println("Contents of al: " + al);
   }
}

答案 2 :(得分:1)

如果您想进行更多或更少的1对1转化,那么您可以使用ArrayList<Object>

ArrayList<Object> arrayList = new ArrayList<Object>();

它允许您在不重写的情况下转换代码。

但我建议使用相应集合的通用版本,无论是Java还是C#代码。确定列表中存储的行的类型,并将其用作泛型集合的类型参数:

ArrayList<Line> arrayList = new ArrayList<Line>();