在程序中声明一个集合类的对象,向其中添加7个字符串元素“Java泛型”,“Set接口”,”List接口”,“Map接口”,“应用”,“与”和“区别”,最后输出集合中的元素,要求用两种方式进行输出:第一种默认调用toString()方法进行直接输出,第二种通过迭代器或者循环遍历进行输出。用Set接口、List接口、Map接口三种方法完成,注意三种接口及其实现类以及泛型的使用。
时间: 2023-06-03 11:06:12 浏览: 255
好的,我会根据你的要求进行回答。
以下是代码实现:
```
import java.util.*;
public class CollectionDemo {
public static void main(String[] args) {
// 创建一个集合类的对象,利用泛型指定元素类型为String
Collection<String> coll = new ArrayList<String>();
// 向集合中添加7个字符串元素
coll.add("Java泛型");
coll.add("Set接口");
coll.add("List接口");
coll.add("Map接口");
coll.add("应用");
coll.add("与");
coll.add("区别");
// 第一种方式输出集合中的元素:直接调用toString()方法进行输出
System.out.println("使用默认的toString()方法输出集合中的元素:" + coll);
// 第二种方式输出集合中的元素:通过迭代器进行输出
Iterator<String> iterator = coll.iterator();
System.out.print("使用迭代器输出集合中的元素:");
while(iterator.hasNext()){
System.out.print(iterator.next() + " ");
}
// 第三种方式输出集合中的元素:通过循环遍历进行输出(List集合特有)
List<String> list = new ArrayList<String>(coll);
System.out.print("\n通过循环遍历输出集合中的元素:");
for(int i=0; i<list.size(); i++){
System.out.print(list.get(i) + " ");
}
// 使用Set接口的实现类HashSet
Set<String> set = new HashSet<String>(coll);
System.out.println("\n使用Set接口的实现类HashSet输出集合中的元素:" + set);
// 使用List接口的实现类ArrayList
System.out.println("使用List接口的实现类ArrayList输出集合中的元素:" + list);
// 使用Map接口的实现类HashMap
Map<Integer, String> map = new HashMap<Integer, String>();
int i = 1;
for(String s : coll){
map.put(i, s);
i++;
}
System.out.println("使用Map接口的实现类HashMap输出集合中的元素:" + map);
}
}
```
输出结果如下:
```
使用默认的toString()方法输出集合中的元素:[Java泛型, Set接口, List接口, Map接口, 应用, 与, 区别]
使用迭代器输出集合中的元素:Java泛型 Set接口 List接口 Map接口 应用 与 区别
通过循环遍历输出集合中的元素:Java泛型 Set接口 List接口 Map接口 应用 与 区别
使用Set接口的实现类HashSet输出集合中的元素:[Java泛型, 应用, 区别, Set接口, Map接口, List接口, 与]
使用List接口的实现类ArrayList输出集合中的元素:[Java泛型, Set接口, List接口, Map接口, 应用, 与, 区别]
使用Map接口的实现类HashMap输出集合中的元素:{1=Java泛型, 2=Set接口, 3=List接口, 4=Map接口, 5=应用, 6=与, 7=区别}
```
使用Set接口的实现类HashSet输出的元素是乱序的,这是因为Set接口的实现类是无序的;使用List接口的实现类ArrayList输出的元素的顺序是添加元素的顺序,因为List接口的实现类是有序的。
阅读全文