打印Collection类的元素的最佳方法是什么?

时间:2015-04-21 12:09:06

标签: java collections

我正在使用java中的Collection API,并通过两种不同的方式打印出集合中的元素。我需要知道哪种方法最适合在任何情况下使用。

第一种方法是在Collection接口中使用.toString()方法(隐式)。 第二种方法是使用迭代器并访问每个元素并将其打印出来。 (此代码已注释)

public class Test  {

    static Set<String> mySet1 = new HashSet<>();
    static Set<String> mySet2 = new LinkedHashSet<>();

    public static void main(String[] args) {

       String[] arr = {"hello","world","I","am","Tom"};
       for(int i=0; i<arr.length;i++){
           mySet1.add(arr[i]);
           mySet2.add(arr[i]);
       }

       System.out.println("HashSet prinitng...");
      /* Iterator iter1 = mySet1.iterator();
       while(iter1.hasNext()){
           System.out.println(iter1.next());
       }*/

       System.out.println(mySet1);

       System.out.println("LinkedHashSet printing");
       /*
       Iterator iter2 = mySet2.iterator();
       while(iter2.hasNext()){
           System.out.println(iter2.next());
       }*/

       System.out.println(mySet2);
    }
}

哪个更好,为什么?

1 个答案:

答案 0 :(得分:2)

在Java 8中,您可以简单地:

mySet2.forEach(System.out::println);

在早期版本中:

for (String str : mySet2)
    System.out.println(str);