标签:31Collection System Collection println add 集合 out
1.1 集合体系结构【记忆】
- 集合类的特点
提供一种存储空间可变的存储模型,存储的数据容量可以随时发生改变 - 集合类的体系图
1.2 Collection集合概述和基本使用【应用】
-
Collection集合概述
是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素
JDK 不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现 -
Collection集合基本使用
import java.util.ArrayList;
import java.util.Collection;
/*
创建Collection集合的对象
多态的方式
ArrayList()
*/
public class Demo {
public static void main(String[] args) {
//创建Collection集合的对象
Collection<String> c =new ArrayList<String>();
////添加元素:boolean add(E e)
c.add("uiou");
c.add("ui");
//输出集合
System.out.println(c);
}
}
1.3 Collection集合的常用方法【应用】
方法名 | 说明 |
---|---|
boolean add(E e) | 添加元素 |
boolean remove(Object o) | 从集合中移除指定的元素 |
void clear() | 清空集合中的元素 |
boolean contains(Object o) | 判断集合中是否存在指定的元素 |
boolean isEmpty() | 判断集合是否为空 |
int size() | 集合的长度,也就是集合中元素的个数 |
import java.util.ArrayList;
import java.util.Collection;
/*
Collection集合常用方法:
boolean add(E e):添加元素
boolean remove(Object o):从集合中移除指定的元素
void clear():清空集合中的元素
boolean contains(Object o):判断集合中是否存在指定的元素
boolean isEmpty():判断集合是否为空
int size():集合的长度,也就是集合中元素的个数
Alt+7 打开一个窗口,能够看到类的所有信息
*/
public class CollectionDemo02 {
public static void main(String[] args) {
//创建集合对象
Collection<String> c = new ArrayList<String>();
//boolean add(E e):添加元素
// System.out.println(c.add("hello"));
// System.out.println(c.add("world"));
// System.out.println(c.add("world"));
c.add("hello");
c.add("world");
c.add("java");
//boolean remove(Object o):从集合中移除指定的元素
// System.out.println(c.remove("world"));
// System.out.println(c.remove("javaee"));
//void clear():清空集合中的元素
// c.clear();
//boolean contains(Object o):判断集合中是否存在指定的元素
// System.out.println(c.contains("world"));
// System.out.println(c.contains("javaee"));
//boolean isEmpty():判断集合是否为空
// System.out.println(c.isEmpty());
//int size():集合的长度,也就是集合中元素的个数
System.out.println(c.size());
//输出集合对象
System.out.println(c);
}
}
1.4 Collection集合的遍历【应用】
- 迭代器的介绍
迭代器,集合的专用遍历方式
Iterator iterator():返回此集合中元素的迭代器,通过集合的iterator()方法得到
迭代器是通过集合的iterator()方法得到的,所以我们说它是依赖于集合而存在的
代码演示:
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
/*
Iterator:迭代器,集合的专用遍历方式
Iterator<E> iterator():返回此集合中元素的迭代器,通过集合的iterator()方法得到
迭代器是通过集合的iterator()方法得到的,所以我们说它是依赖于集合而存在的
Iterator中的常用方法
E next():返回迭代中的下一个元素
boolean hasNext():如果迭代具有更多元素,则返回 true
*/
public class IteratorDemo {
public static void main(String[] args) {
//创建集合对象
Collection<String> c = new ArrayList<String>();
//添加元素
c.add("hello");
c.add("world");
c.add("java");
//Iterator<E> iterator():返回此集合中元素的迭代器,通过集合的iterator()方法得到
Iterator<String> it = c.iterator();
/*
public Iterator<E> iterator() {
return new Itr();
}
private class Itr implements Iterator<E> {
...
}
*/
//E next():返回迭代中的下一个元素
/*
System.out.println(it.next());
System.out.println(it.next());
System.out.println(it.next());
System.out.println(it.next()); //NoSuchElementException:表示被请求的元素不存在
*/
//boolean hasNext():如果迭代具有更多元素,则返回 true
/*
if(it.hasNext()) {
System.out.println(it.next());
}
if(it.hasNext()) {
System.out.println(it.next());
}
if(it.hasNext()) {
System.out.println(it.next());
}
if(it.hasNext()) {
System.out.println(it.next());
}
*/
//用while循环改进判断
while (it.hasNext()) {
// System.out.println(it.next());
String s = it.next();
System.out.println(s);
}
}
}
1.5 集合使用步骤图解【理解】
案例:Collection集合存储学生对象并遍历
- 案例需求
创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class CollectionDemo {
public static void main(String[] args) {
//创建Collection集合对象
Collection<Students> s = new ArrayList<Students>();
//创建学生对象
Students s1 = new Students("U",12);
Students s2 = new Students("F",13);
Students s3 = new Students("O",14);
//把学生添加到集合
s.add(s1);
s.add(s2);
s.add(s3);
//遍历集合
Iterator<Students> it = s.iterator();
while (it.hasNext()){
Students stu =it.next();
System.out.println(stu.getName()+","+stu.getAge());
}
}
}
标签:31Collection,System,Collection,println,add,集合,out 来源: https://www.cnblogs.com/zjh1170/p/15584665.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。