package cn.bdqn.chatpterone.keben;

import java.util.*;

public class TestHanshSet {
public static void main(String[] args) {
//创建4个狗狗对象
Dog ououDog = new Dog("欧欧","雪瑞纳");
Dog yayaDog = new Dog("亚亚","拉布拉多");
Dog meimeiDog = new Dog("美美","雪瑞纳");
Dog feifeiDog = new Dog("菲菲","拉布拉多");
//2创建ArrayList集合对象并把4个狗狗对象放入其中
Set dogs = new HashSet();
dogs.add(ououDog);
dogs.add(yayaDog);
dogs.add(meimeiDog);
//dogs.add(2,feifeiDog);
//输出集合中狗狗的数量
System.out.println("共计有"+dogs.size()+"条狗狗");
//通过遍历集合显示各条狗狗信息
System.out.println("分别是:");
System.out.println("***********************");
//删除狗狗操作
dogs.remove(0);
dogs.remove(meimeiDog);
for (Object object : dogs) {
System.out.println(((Dog) object).getName()+((Dog) object).getStrain());
}
//两个都可以遍历
for (Dog object : dogs) { System.out.println(object.getName()+object.getStrain());
}
System.out.println("***********************");
if(dogs.contains(meimeiDog)){
System.out.println("集合中包含美美信息");
}
else{
System.out.println("集合中不包含美美信息");
}
}
}

因为HashSet没有get方法,无法得到数组元素的值,只能通过加强for循环

下面是我定义的Dog类

package cn.bdqn.chatpterone.keben;

public class Dog extends Pet{
private String strain;
/**
* 有参构造方法
* @param name 昵称
* @param strain 性别
*/
public Dog(String name,String strain){
super(name);
//super(name);
this.strain = strain;
}
public String getStrain(){
return strain;
}
public void print(){
super.print();
System.out.println("我是一只"+this.strain+"。");
} }
package cn.bdqn.chatpterone.keben; public class Pet {
/**
* 宠物类、狗狗类和企鹅类
*/
private String name = "无名氏";
private int health = 100;
private int love = 0;
/**
* 无参构造方法
*/
public Pet(){
health = 95;
System.out.println("执行宠物的无参构造方法");
} /**
* 有参的构造方法
*/
public Pet(String name){
this.name = name;
} public String getName(){
return name;
}
public int getHealth(){
return health;
}
public int getLove(){
return love;
}
/**
* 输出宠物信息
*/
public void print(){
System.out.println("宠物的自白:\n我的名字叫:"+this.name+",我的健康值是"+this.health+"我" +
"和主人的亲密度是"+this.love); } }

增强for循环遍历HashSet的更多相关文章

  1. 通过随机数获得学生成绩,并把每个元素赋值为学生的分数成绩,通过增强for循环遍历结果。

    package com.Summer_0419.cn; /** * @author Summer * 通过随机数获得学生成绩,并把每个元素赋值为学生的分数成绩 */ public class Test ...

  2. 增强for循环遍历集合或数组

    遍历:for循环遍历数组或集合:iterator迭代器遍历集合:还有增强for循环(for each)遍历数组或集合: 遍历数组: 遍历集合:

  3. 使用增强for循环遍历集合的时候操作集合的问题?

    // 遍历一个list public static void printList(List<String> list){ for (String string : list) { list ...

  4. JDK5的新特性之增强for循环遍历数组或集合

    [格式] for(元素的类型 变量名 : 数组或Collection集合名){ //此处使用变量名即可,该变量就是普通for里的i. }

  5. 如何正确遍历删除List中的元素(普通for循环、增强for循环、迭代器iterator、removeIf+方法引用)

    遍历删除List中符合条件的元素主要有以下几种方法: 普通for循环 增强for循环 foreach 迭代器iterator removeIf 和 方法引用 其中使用普通for循环容易造成遗漏元素的问 ...

  6. 18_集合框架_第18天_集合、Iterator迭代器、增强for循环 、泛型_讲义

    今日内容介绍 1.集合 2.Iterator迭代器 3.增强for循环 4.泛型 01集合使用的回顾 *A:集合使用的回顾 *a.ArrayList集合存储5个int类型元素 public stati ...

  7. java基础39 增强for循环(也叫foreach循环)

    增强for循环是jdk1.5出现的新功能 1.增强for循环的作用 简化了迭代器的书写格式(注意:增强for循环底层还是使用了迭代器遍历) 2.增强for循环的格式 for(数据类型 变量名:遍历的目 ...

  8. Day11_58_增强for循环

    增强for循环 * 语法 : for(数据类型 变量名:数组名/集合名) * 集合如果要使用增强for循环需要先使用泛型来确定元素类型,如果没有使用泛型就使用foreach,那么变量类型设置为Obje ...

  9. 关于增强for循环

    1 增强for循环增强for循环是for的一种新用法!用来循环遍历数组和集合. 1.1 增强for的语法for(元素类型 e : 数组或集合对象) {}例如:int[] arr = {1,2,3};f ...

随机推荐

  1. LCX使用心得

    最近在搞内网渗透,碰到 端口转发&边界处理 的时候,我们就可以借助一些小工具了,这类工具有很多,这里主要说明lcx的用法. lcx是个很老的端口转发工具,而它的使用也很简单.不过想要把lcx玩 ...

  2. javascript数组/对象数组的深浅拷贝问题

    一.问题描述 在项目里的一个报名页面需要勾选两条信息(信息一和信息二),由于信息一和信息二所拥有的数据是一致的,所以后台只返回了一个对象数组,然后在前台设置了两个List数组来接收并加以区分.原型如下 ...

  3. lvm创建逻辑卷技巧

    公司使用的服务器都是虚拟机,是虚拟机管理员通过模板创建的. 创建的所有逻辑卷都是使用的sda盘. 而我们在部署应用时需要和系统所在盘分离.(提高磁盘读写速度,避免系统盘被占满) 以前都是先创建新的逻辑 ...

  4. JSP常规内容

    1.forword和redirect的区别? forword是服务器请求资源,服务器直接读取URL,把目标地址URL响应读取出来,然后再把这些内容发送给浏览器.(特点是url和request sess ...

  5. Sentinel基本概念

     Sentinel是阿里开源的一款高性能的限流框架.这里将对Sentinel的使用和实现进行介绍.  这里先介绍下Sentinel中涉及到的基本概念,包括使用上或者实现上.主要是笔者在阅读文档和源码时 ...

  6. 一个js破解教程

    很好的一篇文章,先存着以后用到. 为了防止官网更新修复,存一下版本 https://pan.lanzou.com/b220073/ 密码:这是秘密 这篇文章以 JavaScript 为例讲解了破解的一 ...

  7. [apue] 使用文件记录锁无法实现父子进程交互执行同步

    父子进程间交互执行是指用一种同步原语,实现父进程和子进程在某一时刻只有一个进程执行,之后由另外一个进程执行,用一段代码举例如下: SYNC_INIT(); , counter=; pid_t pid ...

  8. dependencies 与 dependencyManagement 区别

    dependencies 即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承)dependencyManagement 里只是声明依赖,并不实现引入,因此子项目需要显示的声明 ...

  9. Jquery Ztree异步加载树

    1. 下载jquery的JS文件/ztree的CSS文件和JS文件 https://jquery.com/download/ https://gitee.com/zTree/zTree_v3/tree ...

  10. Mybatis面试题吐血总结

    高强度训练第二十天总结:Mybatis面试题 什么是Mybatis? Mybatis 是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时 只需要关注 SQL 语句本身,不需要花费精力 ...