Java:基础 :集合和迭代器
一.集合
概述
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.添加元素,添加成功返回truelist.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"));//trueSystem.out.println(list.contains("java"));//falseSystem.out.println(list);System.out.println(list.remove("Java"));//trueSystem.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);//[赵敏,小昭,殷素素,周芷若]
// elefor (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;}@Overridepublic String toString() {return "Movie{" +"name='" + name + '\'' +", score=" + score +", actor='" + actor + '\'' +'}';}
}
Java:基础 :集合和迭代器相关推荐
- java基础—集合框架
java基础-集合框架 JDK1.2开始引入了集合框架的概念,以弥补java中只有数组这种容器的单一问题,这些框架多数由接口构成,另外也包含了一些对于接口实现的类,其中这些接口的最上层接口为java. ...
- Java基础---集合的概述---list、set、map、泛型、collections
集合的概述 单列集合的体系: Collection 单列集合的顶层接口 List Collection的子接口,增加了一些特有的方法,有序 可以重复 有索引 ArrayList 底层采用的数组结构实现 ...
- JAVA基础---集合(一)--集合框架概述
为什么用集合如何合理用集合,以及如何实现的和他们的实现原理,如果搞清了对于之后学习其他知识和开发是很有大帮助性的. 什么是集合框架? 集合框架是表示和操作集合的统一体系结构.所有集合框架都包含以下内容 ...
- (阿里offer)春招知识点总结1:java基础+集合+并发+jvm+ssm
写在前面:大量总结不是系统的总结,而是作者本人根据自己情况总结的,许多我很清楚的地方就不在提及,大量源码也均未提及,尤其是框架的总结提及很浅.仅作为自己短期技术栈的一个总结,只作为参考,不是一定正确的 ...
- Java基础—集合2Set接口和Map接口
第一讲 Set 一 概述 Set:1. 元素存储无下标,所以元素是无序(存入和取出的顺序不一定一致) 2. 元素不可以重复 |--HashSet:底层数据结构是哈希表.线程不同步. 保证元素唯一性的原 ...
- JAVA基础+集合+多线程+JVM
1. Java 基础 1.1. 面向对象和面向过程的区别 面向过程性能比面向对象高. 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候 等一般采用面向过程开发.但是 ...
- Java基础—集合框架(三)
一Map集合 二Map扩展知识 集合框架(三) 一.Map集合 1.概述 Map集合用于存储键值对,且它保证键的唯一性,并且每个键最多只能映射一个值.Map集合是Set集合的底层实现,其和Collec ...
- 小东吖 之 java Collection集合和迭代器
一.Collection集合 数组: 存储同一种数据类型的集合容器. 数组的特点: 1. 只能存储相同数据类型的数据 2. 一旦给定了长度,数组长度被固定了,不能改变 3. 数组中的元素与元素之间的内 ...
- java基础集合操作工具类Collections简述(java集合四)
对集合中的元素进行排序 Collections中的sort方法使用 public class ListDemo {public static void main(String[] args) {Lis ...
- java基础----集合操作---实例----List集合的初始化
文章内容:最近使用LeapMotion进行软件开发时,使用到了java API---->List集合,使用过程中遇到了一些小bug,特写此博客记录相关心得. 程序编写背景:使用leapMotio ...
最新文章
- Django设计模型1.2
- php redbean update,redbeanphp和表前缀
- JavaScript 图片上传预览效果
- 腾讯云432元撸4年2H4G6M云服务器
- html下拉嵌套只读,html组件不可输入(只读)同时任何组件都有效
- [转载] python中三角函数_Python中的三角函数
- 安装Ubuntu的那些事儿(续)
- 分析.NET编译产生的PE文件
- SQL Server 日期函数
- java查看已导入的证书_jdk导入证书
- jquery API参考手册
- 最近选购MP3而有感便携追求音质的一些心得
- excel宏教程_综合 | 如何使用Excel按条件高效查找数据?
- php递归实例,php递归经典案例
- 线上故障之-CPU飙高
- 揭秘美国“大数据”的老巢
- 模板码:个性二维码制作,改变二维码设计方式
- HTPPS请求 证书 解决方案
- 量子计算与量子信息之量子力学引论(一)
- yolov5的anchors及bbox的编解码原理
热门文章
- 途家民宿VS木鸟民宿:民宿APP功能体验
- [英语歌曲]老鹰之歌:If I Could (El Condor Pasa)
- python cls参数_定义类方法中的参数为啥是cls
- 利用Python进行数据分析(Ⅳ)
- 利用nginx实现内网地图瓦片代理
- 什么是数据库的实体关系图(ERD)?
- Intel NUC10i7FNH 寒霜峡谷测试体验
- Hulu日常实习面经 (SDE/RSDE)
- ios使用theos tweak logify.pl自动hook .h头文件中所有的方法
- 微信小程序之店铺评分组件及vue中用svg实现的评分显示组件