一.集合
概述
package Test;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 拓展:正则表达式爬取信息中的内容。(了解)
*/
public class Test {
public static void main(String[] args){
// 有序 可重复 有索引
Collection list=new ArrayList();
list.add("Java");
list.add("Java");
list.add("Mybatis");
list.add(23);
list.add(23);
list.add(false);
list.add(false);
System.out.println(list);
// 无序 不重复 无索引
Collection list2=new HashSet();
list2.add("Java");
list2.add("Java");
list2.add("Mybaits");
list2.add(23);
list2.add(23);
list2.add(false);
list2.add(false);
System.out.println(list2);
System.out.println("---------------");
// Collection<String> list2=new ArrayList<String>();
Collection<String> list3=new ArrayList<>();
list3.add("Java");
// list3.add(33);
list3.add("黑马");
// 集合和泛型不支持基本数据类型,只能支持引用数据类型
// Collection<int> list3=new ArrayList<>();
}
}
常用API
package Test;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 拓展:正则表达式爬取信息中的内容。(了解)
*/
public class Test {
public static void main(String[] args){
// HashSet:添加的元素是无序,不重复,无索引
Collection<String> list=new ArrayList<>();
// 1.添加元素,添加成功返回true
list.add("java");
list.add("HTML");
System.out.println(list.add("HTML"));
list.add("MySQL");
list.add("Java");
System.out.println(list.add("黑马"));
System.out.println(list);//[Java,HTML,HTML,MySql,java,黑马]
// 2.清空集合的元素
// list.clear();
// System.out.println(list);
// 3.判断集合是否为空 是空返回true,反之
System.out.println(list.isEmpty());
// 4.获取集合的大小
System.out.println(list.size());
// 5.判断集合中是否包含某个元素
System.out.println(list.contains("Java"));//true
System.out.println(list.contains("java"));//false
System.out.println(list);
System.out.println(list.remove("Java"));//true
System.out.println(list);
// 7.把集合转换成数组 [HTML,HTML,MySQL,Java,黑马]
Object[] arrs=list.toArray();
System.out.println("数组:"+ Arrays.toString(arrs));
System.out.println("-------------拓展------------");
Collection<String> c1=new ArrayList<>();
c1.add("java1");
c1.add("java2");
Collection<String> c2=new ArrayList<>();
c2.add("赵敏");
c2.add("殷素素");
// addAll把c2集合的元素全部倒入到c1中去
c1.addAll(c2);
System.out.println(c1);
System.out.println(c2);
}
}
迭代器遍历
package Test;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class Test2 {
public static void main(String[] args) {
Collection<String> lists=new ArrayList<>();
lists.add("赵敏");
lists.add("小昭");
lists.add("素素");
lists.add("灭绝");
// [赵敏,小昭,素素,灭绝]
// 1.得到当前集合的迭代器对象
Iterator<String> it=lists.iterator();
// String ele=it.next();
// System.out.println(ele);
// System.out.println(it.next());
// System.out.println(it.next());
// System.out.println(it.next());
// System.out.println(it.next());//NoSuchElementException 出现无此元素异常的错误
// 2.定义while循环
while (it.hasNext()){
String ele=it.next();
System.out.println(ele);
}
System.out.println("----------------------");
}
}
foreach遍历
package Test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
public class Test2 {
public static void main(String[] args) {
Collection<String> lists=new ArrayList<>();
lists.add("赵敏");
lists.add("小昭");
lists.add("殷素素");
lists.add("周芷若");
System.out.println(lists);
//[赵敏,小昭,殷素素,周芷若]
// ele
for (String ele:lists){
System.out.println(ele);
}
System.out.println("--------------");
double[] scores={100,99.5,59.5};
for (double score:scores){
System.out.println(score);
// if (score==59.5){
// score=100.0;//修改无意义,不会影响数组的元素值
// }
}
System.out.println(Arrays.toString(scores));
}
}
package Test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
import java.util.function.Consumer;
public class Test2 {
public static void main(String[] args) {
Collection<String> lists=new ArrayList<>();
lists.add("赵敏");
lists.add("小昭");
lists.add("殷素素");
lists.add("周芷若");
System.out.println(lists);
//[赵敏,小昭,殷素素,周芷若]
// t
// s
// lists.forEach(new Consumer<String>() {
// @Override
// public void accept(String s) {
// System.out.println(s);
// }
// });
lists.forEach( s->System.out.println(s));
// 还有一种遍历方式
lists.forEach(System.out::println);
}
}
存储自定义类型的对象
TestDemo
package Test;
import java.util.ArrayList;
import java.util.Collection;
public class TestDemo {
public static void main(String[] args) {
// 1.定义一个电影类
// 2.定义一个集合对象存储3部电影对象
Collection<Movie> movies = new ArrayList<>();
movies.add(new Movie("《你好,李焕英》",9.5,"张小飞,贾玲,沈腾,陈赫"));
movies.add(new Movie("《唐人街探案》",8.5,"王宝强,刘浩然,美女"));
movies.add(new Movie("《刺杀小说家》",9.5,"雷佳音,杨幂"));
System.out.println(movies);
// 3.遍历集合容器中的每个电影对象
for (Movie movie : movies){
System.out.println("片名:"+movie.getName());
System.out.println("得分:"+movie.getScore());
System.out.println("主演:"+movie.getActor());
}
}
}
Movie.java
package Test;
public class Movie {
private String name;
private double score;
private String actor;
public Movie() {
}
public Movie(String name, double score, String actor) {
this.name = name;
this.score = score;
this.actor = actor;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
public String getActor() {
return actor;
}
public void setActor(String actor) {
this.actor = actor;
}
@Override
public String toString() {
return "Movie{" +
"name='" + name + '\'' +
", score=" + score +
", actor='" + actor + '\'' +
'}';
}
}