集合框架03
Posted 蒋酱酱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合框架03相关的知识,希望对你有一定的参考价值。
三、增强for循环(foreach)
1 //好处:代码少,方便遍历 2 //弊端:没有索引,不能操作容器里的元素 3 private static void function() { 4 int[] arr = {3,1,4,5,6}; 5 for(int i:arr){ 6 System.out.println(i); 7 } 8 }
四、泛型
/* 2 * JDK1.5 出现新的安全机制,保证程序的安全性 3 * 泛型: 指明了集合中存储数据的类型 <数据类型> 4 */ 5 6 public class GenericDemo { 7 public static void main(String[] args) { 8 function(); 9 } 10 11 public static void function(){ 12 Collection<String> coll = new ArrayList<String>(); 13 coll.add("abc"); 14 coll.add("rtyg"); 15 coll.add("43rt5yhju"); 16 // coll.add(1); 17 18 Iterator<String> it = coll.iterator(); 19 while(it.hasNext()){ 20 String s = it.next(); 21 System.out.println(s.length()); 22 } 23 } 24 }
/* * 带有泛型的接口 * * public interface List <E>{ * abstract boolean add(E e); * } * 实现类,先实现接口,不理会泛型 * public class ArrayList<E> implements List<E>{ * } * 调用者 : new ArrayList<String>() 后期创建集合对象的时候,指定数据类型 * * 实现类,实现接口的同时,也指定了数据类型 * public class XXX implements List<String>{ * } * new XXX() */
1 /* 2 * 泛型的通配符 3 */ 4 public class GenericDemo { 5 public static void main(String[] args) { 6 ArrayList<String> array = new ArrayList<String>(); 7 8 HashSet<Integer> set = new HashSet<Integer>(); 9 10 array.add("123"); 11 array.add("456"); 12 13 set.add(789); 14 set.add(890); 15 16 iterator(array); 17 iterator(set); 18 } 19 /* 20 * 定义方法,可以同时迭代2个集合 21 * 参数: 怎么实现 , 不能写ArrayList,也不能写HashSet 22 * 参数: 或者共同实现的接口 23 * 泛型的通配,匹配所有的数据类型 ? 24 */ 25 public static void iterator(Collection<?> coll){ 26 Iterator<?> it = coll.iterator(); 27 while(it.hasNext()){ 28 //it.next()获取的对象,什么类型 29 System.out.println(it.next()); 30 } 31 } 32 }
以上是关于集合框架03的主要内容,如果未能解决你的问题,请参考以下文章