- 一、Collection集合概述和使用
- 二、Collection集合常用方法
- 三、迭代遍历Collection集合
- 四、Collection集合存储数据库对象并遍历
- 五、List集合概述和特点
- 六、List集合特有方法
- 七、遍历list集合
- 八、列表迭代器ListIterator
- 九、增强for循环
- 十、三种方式遍历list集合
Collection集合概述:
- 是单例集合的顶层接口,表示一组对象,这些对象也称为Collection的元素
- JDK不提供此接口的任何直接实现,提供更具体的子接口实现(如Set和List)
创建Collection集合的对象:
- 多态的方式
- 具体的实现类ArrayList
方法名 | 说明 |
---|---|
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;
public class CollectionDemo {
public static void main(String[] args) {
Collection<String> c = new ArrayList<String>();
c.add("hello");
c.add("world");
System.out.println(c.contains("world")); //true
System.out.println(c.remove("world")); //true
}
}
三、迭代遍历Collection集合
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class CollectionDemo {
public static void main(String[] args) {
Collection<String> c = new ArrayList<String>();
c.add("hello");
c.add("world");
Iterator<String> iterator = c.iterator();
while (iterator.hasNext()){
String str = iterator.next();
System.out.println(str);
}
}
}
四、Collection集合存储数据库对象并遍历
数据库对象
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Dataset {
/**
* 数据库名称
*/
private String databaseName;
/**
* 数据库的描述
*/
private String databaseComment;
}
遍历数据库对象
import com.bigdata.plus.Dataset;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class CollectionDemo {
public static void main(String[] args) {
Collection<Dataset> datasets = new ArrayList<>();
Dataset dataset1 = new Dataset("dw", "中间数据库");
Dataset dataset2 = new Dataset("optics", "光学数据库");
datasets.add(dataset1);
datasets.add(dataset2);
Iterator<Dataset> iterator = datasets.iterator();
while (iterator.hasNext()){
Dataset databaseName = iterator.next();
System.out.println(databaseName.getDatabaseName() + "," + databaseName.getDatabaseComment());
}
}
}
五、List集合概述和特点
List集合概述:
- 有序集合,用户可以精确控制列表中每个元素的插入位置,用户可以通过整数索引访问元素,并搜索列表中的元素。
- 与Set集合不同,列表通常允许重复的元素。
List集3合特点:
- 有序:存储和取出的元素顺序一致
- 可重复:存储的元素可以重复
方法名 | 说明 |
---|---|
void add(int index,E element) | 在集合中的指定位置插入指定的元素 |
E remove(int index) | 删除指定索引处的元素,返回被删除的元素 |
E set(int index,E element) | 修改指定索引处的元素,返回被修改的元素 |
E get(int index) | 返回制定索引处的元素 |
import java.util.ArrayList;
import java.util.List;
public class CollectionDemo {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("hello");
list.add("world");
//索引不能越界
list.add(1,"加油学java");
//返回删除的元素
System.out.println(list.remove(0));
//返回被修改的元素
System.out.println(list.set(1,"冲冲"));
System.out.println(list);
}
}
七、遍历list集合
import java.util.ArrayList;
import java.util.List;
public class CollectionDemo {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("hello");
list.add("world");
//索引不能越界
list.add(1,"加油学java");
for(int i=0;i<list.size();i++){
String s = list.get(i);
System.out.println(s);
}
}
}
八、列表迭代器ListIterator
Listlterator:列表迭代器
- 通过List集合的listIterator()方法得到,是List集合特有的迭代器
- 可以添加元素
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class CollectionDemo {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("hello");
list.add("world");
//索引不能越界
list.add(1,"加油学java");
ListIterator<String> stringListIterator = list.listIterator();
while (stringListIterator.hasNext()){
String s = stringListIterator.next();
if(s.equals("world")){
stringListIterator.add("好的,会好好学java");
}
}
System.out.println(list);
}
}
输出如下所示:
[hello, 加油学java, world, 好的,会好好学java]
增强for:简化数组和Collection集合的遍历
- 实现Iterable接口的类允许其对象成为增强型for语句的目标
- 是JDK5之后出现的,内部远离是一个Iterator迭代器
import java.util.ArrayList;
import java.util.List;
public class CollectionDemo {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("hello");
list.add("world");
//索引不能越界
list.add(1, "加油学java");
for(String s:list){
System.out.println(s);
}
}
}
十、三种方式遍历list集合
- list迭代器:集合特有的遍历方式
- 普通for:带有索引的遍历方式
- 增强for:最方便的遍历方式
数据库对象
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Dataset {
/**
* 数据库名称
*/
private String databaseName;
/**
* 数据库的描述
*/
private String databaseComment;
}
三种方式遍历list集合
import com.bigdata.plus.Dataset;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class CollectionDemo {
public static void main(String[] args) {
List<Dataset> datasetsList = new ArrayList<>();
Dataset dataset1 = new Dataset("dw", "中间数据库");
Dataset dataset2 = new Dataset("optics", "光学数据库");
datasetsList.add(dataset1);
datasetsList.add(dataset2);
//list迭代器
ListIterator<Dataset> datasetListIterator = datasetsList.listIterator();
while (datasetListIterator.hasNext()){
Dataset s = datasetListIterator.next();
System.out.println(s.getDatabaseName() + "," + s.getDatabaseComment());
}
//for
for(int i = 0; i<datasetsList.size(); i++){
Dataset dataset = datasetsList.get(i);
System.out.println(dataset.getDatabaseName() + "," + dataset.getDatabaseComment());
}
//增强for
for(Dataset dataset : datasetsList){
System.out.println(dataset.getDatabaseName() + "," + dataset.getDatabaseComment());
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)