标签:str new 元素 for https jin sdn obj 引用
图片来源 https://blog.csdn.net/u010887744/article/details/50575735
Iterator:迭代器,它是Java集合的顶层接口(不包括 map 系列的集合,Map接口 是 map 系列集合的顶层接口)
使用场景:只要实现了Iterable接口的类,就可以使用Iterator迭代器,注意:map系列集合不能够使用迭代器
迭代器函数:
Object next():返回迭代器刚越过的元素的引用,返回值是 Object,
Iterator<Student> it = arr.iterator(); // 这样使用时可以不强制类型转换
boolean hasNext():判断容器内是否还有可供访问的元素
void remove():删除迭代器刚越过的元素
public static void main(String[] args) { ArrayList<Student> arr = new ArrayList<Student>(); Student s1 = new Student("linqinxia", 216); Student s2 = new Student("diaochan", 78); Student s3 = new Student("wnagjing", 78); Student s4 = new Student("wnagjun", 88); arr.add(s1); arr.add(s2); arr.add(s3); arr.add(s4); // 方法1:迭代器遍历 Iterator<Student> it = arr.iterator(); while (it.hasNext()) { Student s = it.next(); System.out.println(s.getName() + "---" + s.getAge()); } // 方法2:增强for 遍历 for (Student m : arr) { System.out.println(m.getName() + "----" + m.getAge()); } // 方法3:使用for 循环遍历 for (int x = 0; x < arr.size(); x++) { Student s = (Student) arr.get(x); System.out.println(s.getName() + "----" + s.getAge()); } }
public static void main(String[] args) { Collection<Person> c1 = new ArrayList<Person>(); Collection<Student> c2 = new ArrayList<Student>(); Collection<Student> c3 = new ArrayList<Student>(); Person p1 = new Person(); Person p2 = new Person(); Person p3 = new Person(); Student s1 = new Student("wangjing", 20); Student s2 = new Student("wangjun", 21); Student s3 = new Student("xiaoha", 19); Student s4 = new Student("wangjing", 20); c1.add(p1); //1. add(#):添加一个元素 c1.add(p2); c1.add(p3); c2.add(s1); c2.add(s2); c2.add(s3); c3.add(s4); c1.addAll(c2); //2. addAll(Collection<? extends E>):添加另一个集合中所有的元素 System.out.println(c1.size()); c1.clear(); //3. clear():清除集合中所有的元素 System.out.println(c1.size()); System.out.println(c2.contains(s2)); //4. contains(Object):判断该元素是否在集合中 System.out.println(c2.containsAll(c3)); //5. containsAll(Collection<? extends E>):判断输入集合所有元素是否在该集合中 c3.add(s2); c3.add(s3); System.out.println(c2.equals(c3)); //6. equals(Object):判断两个集合中所有的元素是否相等,只需要判断c2中的每一个元素是否equals c3中的一个元素,equals可以重写 System.out.println(c2.hashCode()); //7. hashCode():返回集合的hashCode编码 Iterator<Student> it = c2.iterator(); //8. iterator():返回集合的迭代器 while(it.hasNext()) { Student s = it.next(); System.out.println(s.getName() + ":" + s.getAge()); } System.out.println(c2.parallelStream()); //9. parallelStream():返回java.util.stream.ReferencePipeline$Head@5c647e05 c2.remove(s2); //10. remove(Object):删除一个元素 System.out.println(c2.size()); c2.add(s2); c2.removeAll(c3); // 11. removeAll(Collection<?>) System.out.println(c2.size()); c2.size(); //12. c2.size():返回集合的大小 c2.add(s1); c2.add(s2); c2.add(s3); Student[] s = c2.toArray(new Student[0]); //13 将集合转换成数组,强制类型转换不能针对多对象 数组转集合的方法:List<String> mlist = Arrays.asList(array); System.out.println(s[1].getName()); }
标签:str new 元素 for https jin sdn obj 引用
原文地址:https://www.cnblogs.com/feng-ying/p/9416425.html