当前位置: 首页 > wzjs >正文

阿里云1M做网站网页设计与制作教程电商

阿里云1M做网站,网页设计与制作教程电商,免费网站推广工具有哪些,商旅平台app单列集合体系结构 注意: List系列集合添加的元素是有序(存取数据的顺序相同),可重复,有索引的 Set系列集合 添加的元素是无序,不能重复,无索引的 Collection介绍 Collection是单列集合的祖宗接口…

单列集合体系结构

注意:

List系列集合添加的元素是有序(存取数据的顺序相同),可重复,有索引的

Set系列集合 添加的元素是无序,不能重复,无索引的

Collection介绍

Collection是单列集合的祖宗接口,它的功能是全部单列集合都可以继承使用的。

常用方法

方法名称说明
public boolean add(E e)把给定的对象添加到当前集合中
public void clear()清空集合中所有的元素
public boolean remove(E e)把给定的对象在当前集合中删除
public boolean contains(0bject obj)判断当前集合中是否包含给定的对象
public boolean isEmpty()判断当前集合是否为空
public int size()返回集合中元素的个数/集合的长度 

代码演示:

import java.util.ArrayList;
import java.util.Collection;public class Test1 {public static void main(String[] args) {//Collection是一个接口,我们不能直接创建他的对象。//所以,现在我们学习他的方法时,只能创建他实现类的对象。//实现类:ArrayListCollection<String> coll = new ArrayList<>();//把给定的对象添加到当前集合中coll.add("aaa");coll.add("bbb");System.out.println(coll);//[aaa, bbb]//把给定的对象在当前集合中删除coll.remove("aaa");System.out.println(coll);//[bbb]//返回集合中元素的个数/集合的长度System.out.println(coll.size());//1//判断当前集合是否为空System.out.println(coll.isEmpty());//false//清空集合中所有的元素coll.clear();System.out.println(coll);//[]System.out.println(coll.isEmpty());//true//判断当前集合中是否包含给定的对象coll.add("aaa");coll.add("bbb");coll.add("ccc");System.out.println(coll);//[aaa, bbb, ccc]System.out.println(coll.contains("bbb"));//trueSystem.out.println(coll.contains("ddd"));//false}
}

注意:

contains方法在底层依赖equals方法判断对象是否一致
如果存的是自定义对象,没有重写equals方法,那么默认使用Object类中的equals方法进行判断,而object类中equals方法判断的是地址值是否相同,要想判断自定义对象中的内容是否相同,需要在自定义的Javabean类中,重写equals方法
举例:如果同姓名和同年龄,就认为是同一个学生。

代码实现:

测试类:

import java.util.ArrayList;
import java.util.Collection;public class Test {public static void main(String[] args) {//举例:如果同姓名和同年龄,就认为是同一个学生。Collection<Student> coll = new ArrayList<>();Student s1 = new Student("zhangsan", 23);coll.add(s1);Student s2 = new Student("zhangsan", 23);Student s3 = new Student("lisi", 24);/* //重写equals方法前比较的是自定义对象的地址值//s2和s3是新new出来的,与s1的地址都不同,所以都是falseSystem.out.println(coll.contains(s2));//falseSystem.out.println(coll.contains(s3));//false*///重写equals方法后,比较的是自定义对象内的属性值System.out.println(coll.contains(s2));//trueSystem.out.println(coll.contains(s3));//false}
}

自定义对象的Javabean类: 

import java.util.Objects;public class Student {private String name;private int age;public Student() {}public Student(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}//重写equals方法@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Student student = (Student) o;return age == student.age && Objects.equals(name, student.name);}}

Collection的遍历方式

迭代器遍历

说明

迭代器在Java中的类是Iterator,迭代器是集合专用的遍历方式,不依赖索引进行遍历。

Collection集合获取迭代器
方法名称说明
Iterator<E> iterator ()

返回迭代器对象

默认指向当前集合的0索引

Iterator中的常用方法
方法名称说明
boolean hasNext()

判断当前位置是否有元素,

有元素返回true,没有元素返回false

E next ()获取当前位置的元素
并将迭代器对象移向下一个位置。
void remove ()删除获取到的元素
代码演示
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;public class Test2 {public static void main(String[] args) {Collection<String> coll = new ArrayList<>();coll.add("aaa");coll.add("bbb");coll.add("ccc");Iterator<String> it = coll.iterator();while (it.hasNext()) {String str = it.next();System.out.println(str);}//aaa//bbb//ccc}
}
细节注意点

1,迭代器遍历完毕,指针不会复位,重新遍历该集合时需要重新获取该集合的迭代器对象
2,循环中只能用一次next方法,否则前一个next方法将迭代器对象移向下一个位置时该位置没有元素,后一个next方法获取不到元素就会报错(NoSuchElementException)
3,迭代器遍历时,不能用集合的方法进行增加或者删除,可以用迭代器的方法进行删除

增强for遍历

说明

增强for的底层就是迭代器,为了简化迭代器的代码书写的。
它是JDK5之后出现的,其内部原理就是一个Iterator迭代器
所有的单列集合和数组都能用增强for进行遍历。

格式

for (元素的数据类型 变量名 :数组或者集合){

        具体代码;

}

代码演示
import java.util.ArrayList;
import java.util.Collection;public class Test3 {public static void main(String[] args) {Collection<String> coll = new ArrayList<>();coll.add("aaa");coll.add("bbb");coll.add("ccc");for (String s : coll) {System.out.println(s);}//aaa//bbb//ccc}
}
细节注意点 

上述代码中的s是一个第三方变量,依次代表集合中的每一个数据

对s进行操作不会影响集合中的数据

Lambda表达式遍历

说明

得益于JDK 8开始的新技术Lambda表达式,提供了一种更简单、更直接的遍历集合的方式。

方法
方法名称说明
default void forEach(Consumer<? super T> action):结合lambda遍历集合 
代码演示 
import java.util.ArrayList;
import java.util.Collection;
import java.util.function.Consumer;public class Test4 {public static void main(String[] args) {Collection<String> coll = new ArrayList<>();coll.add("aaa");coll.add("bbb");coll.add("ccc");//匿名内部类coll.forEach(new Consumer<String>() {@Overridepublic void accept(String s) {System.out.println(s);}});//lambda表达式coll.forEach(s -> System.out.println(s));//aaa//bbb//ccc}
}
http://www.dtcms.com/wzjs/568944.html

相关文章:

  • 上海贸易公司梧州网站优化价格
  • 汽车网站模版网站用什么主机
  • vps做网站的环境wordpress电影站数据下载
  • 企业网站建设的开发方式有网站建设介绍ppt模板下载
  • 百度验证网站的好处做网站一个月20g流量够吗
  • 重庆专业的网站建设公司排名万网空间官方网站
  • 网站制作公司北京华网怎样免费建设免费网站
  • 用dw做的企业网站如何判断一个网站是否用织梦建设的
  • 室内设计师联盟网站手机可以做3d动漫视频网站
  • 泉州建设网站公司哪家好小程序源码分享网
  • 韩国家具网站模板化学网站定制
  • 宿州大型网站建设公司网站建设施工方案
  • 上海做网站好的公司印度vps云服务器
  • 合作建设网站协议时尚网站策划
  • 创意字体设计网站seozhun
  • 免费建社交网站旅行社手机网站建设
  • 怎么做钓鱼网站生成器免费一级域名网站
  • 网站推广方法技巧帮别人做网站怎么接单
  • 网站制作的建设大纲ppt怎么申请域名建网站
  • 芜湖网站建设排名优化价格
  • 网站哪里有做的网站seo分析
  • 电子商务网站怎么做seo用什么做网站的访问量统计
  • 网站平台建设呈现全新亮点建设部网站合并
  • 建网站多少钱一平方广州app开发公司排行十强
  • 做网站电子版报价模板xampp可以做网站吗
  • 修改公司网站wordpress标签后缀名html
  • 招代理商的网站wordpress zerif lite
  • 西安seo服务培训seo网站推广与优化方案
  • 网站怎么做支付系统wordpress阿里云
  • 中国空间站叫什么网站维护中什么意思