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 ...
最新文章
- 单商户商城与多商户商城的区别
- 数字化转型战略中不可忽视“软因素”
- 后端技术:Java编程中忽略这些细节,Bug肯定少不了
- 漫步线性代数六——逆和转置
- Java 8 新特性:Comparator.naturalOrder | 自然排序
- canvas 绘制直线 并选中_javascript自学记录:canvas绘图
- 从2000年到2019年
- 【操作系统/OS笔记14】经典同步问题:读者-写者问题、哲学家就餐问题
- anno arm移植Qt环境后,编译正常,程序无法正常启动问题的记录
- 万年历c语言代码单链表,万年历的C语言实现
- matlab 无刷电机,无刷直流电机的matlab仿真
- 中心极限定理 central limit theorem
- 微软企业邮箱邮箱服务器地址,微软Outlook添加网易企业邮箱设置步骤
- mybatis 自定义拦截器
- JavaScript——jQuery速查手册
- cent os 主题安装
- Markdown简单操作
- Android Verity Boot(AVB)初探
- android.os.FileUriExposedException: file:///storage/emulated/0/myxmpp/154094
- 电脑通过android手机上网 .
热门文章
- 浅谈TPM设备管理系统、推行要素和目的
- 启发式搜索算法 - 以A*为中心来说明启发式算法本质是要找有效的heuristic需要满足的性质
- 小牛M+怎么样 看过你才知道
- 解决“微信与此IPAD不兼容
- 警惕nmn 智商税,nmn抗衰老 骗局,另有隐情
- 软件测试面试之逻辑篇(一)
- mysql 修改max_allowed_packet_Mysql修改max_allowed_packet参数
- JavaWEB-Servlet
- 熊啸锋:在线生成个人网站,如何建立个人网站教程
- 使用python调用微步在线接口实现自动化查询IP情报