java-collection(迭代)
来源:互联网 发布:见过好听的名字 知乎 编辑:程序博客网 时间:2024/05/20 18:47
实例1:
import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;import java.util.Scanner;/*作业2:使用集合实现注册登陆功能,第一步: 提示用户选择功能, A(注册) B(登陆) 。 要求: 功能选择 的时候要忽略大小写。注册: 1. 提示用户输入注册的账号(数字)与密码,如果输入账号已经存在集合中,提示用户重新输入。 注册完毕之后,把集合中的所有用户信息打印出来。(使用:toArrry()方法) 登陆: 提示用户输入登陆的账号与密码,如果账号与密码这个用户已经存在集合中,那么登陆成功,否则登陆失败。 *///用户class User{ int id; //账号 String password; //密码 public int getId() { return id; } public void setId(int id) { this.id = id; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public User(int id, String password) { this.id = id; this.password = password; } @Override public boolean equals(Object obj) { User user = (User)obj; return this.id==user.id; } @Override public String toString() { return "{ 账号:"+this.id+" 密码:"+this.password+"}"; }}public class Demo1 { static Scanner scanner = new Scanner(System.in); static Collection users = new ArrayList(); //使用该集合保存所有的用户信息.. public static void main(String[] args) { while(true){ System.out.println("请选择功能 A(注册 ) B(登陆)"); String option = scanner.next(); if("a".equalsIgnoreCase(option)){ reg(); }else if("b".equalsIgnoreCase(option)){ login(); }else{ System.out.println("你的选择有误,请重新输入"); } } } public static void login() { System.out.println("请输入账号:"); int id = scanner.nextInt(); System.out.println("请输入密码:"); String password = scanner.next(); //判断集合的用户是否存在该用户名与密码 //遍历集合的元素,查看是否存在该用户信息 boolean isLogin = false; //定义变量用于记录是否登陆成功的信息 , 默认是没有登陆成功的 Iterator it = users.iterator(); while(it.hasNext()){ User user = (User) it.next(); if(user.id==id&&user.password.equals(password)){ //存在该用户信息,登陆成功... isLogin = true; } } if(isLogin==true){ System.out.println("欢迎登陆..."); }else{ System.out.println("用户名或者密码错误,登陆失败..."); } } public static void reg() { //110 , 220 User user = null; while(true){ System.out.println("请输入账号:"); int id = scanner.nextInt(); //220 user = new User(id,null); if(users.contains(user)){ // contains底层依赖了equals方法。 //如果存在 System.out.println("该账号已经存在,请重新输入账号"); }else{ //不存在 break; } } System.out.println("请输入密码:"); String password = scanner.next(); user.setPassword(password); //把user对象保存到集合中 users.add(user); System.out.println("注册成功!"); System.out.println("当前注册的人员:"+users); }}
实例2:
package cn.itcast.collelction;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;/*------| Collection 单例集合的根接口----------| List 如果是实现了 List接口的集合类,该集合类具备 的特点: 有序、可重复。----------| Set 如果是实现了Set接口的集合类,该集合具备的特点: 无序,不可 重复。Collection---迭代的方法: toArray() iterator()迭代器的作用:就是用于抓取集合中的元素。迭代器的方法: hasNext() 问是否有元素可遍历。如果有元素可以遍历,返回true,否则返回false 。 next() 获取元素... remove() 移除迭代器最后一次返回 的元素。NoSuchElementException 没有元素的异常。 出现的原因: 没有元素可以被迭代了。。。 */public class Demo2 { public static void main(String[] args) { Collection c = new ArrayList(); c.add("狗娃"); c.add("狗剩"); c.add("铁蛋"); c.add("美美"); /*//遍历集合的元素------>方式一: 可以使用toArray方法。 Object[] arr = c.toArray(); // toArray() 把集合 的元素存储到一个 Object的数组中 返回。 for(int i = 0 ; i<arr.length ; i++){ System.out.print(arr[i]+","); } //要求使用iterator迭代器遍历。 */ Iterator it = c.iterator(); //返回一个迭代器 疑问:iterator()方法返回的是一个接口类型,为什么接口又可以调用方法可以使用呢? iterator 实际 上返回的是iterator接口的实现类对象。 /* while(it.hasNext()){ // hasNext() 问是否有元素可以遍历。 System.out.println("元素:"+ it.next()); //获取元素 } */ /*it.next(); it.next(); it.remove(); //删除迭代器最后一次返回的元素。*/ //清空集合 的元素 while(it.hasNext()){ it.next(); it.remove(); } System.out.println("集合的元素:"+ c); }}
阅读全文
0 0
- java-collection(迭代)
- java集合Collection迭代
- 迭代最快的Collection
- overview_java(七)-collection迭代
- Collection 或 Map 进行迭代操作抛出 java.util.ConcurrentModificationException 异常
- 黑马程序员----集合2(Collection、迭代、泛型)
- 迭代算法 JAVA
- 迭代算法 JAVA
- java迭代其
- java迭代其
- java迭代
- java 迭代list
- java ibatis 迭代
- java-迭代删除
- java迭代Iterator
- java-迭代删除
- java迭代map
- java-listIterator(迭代)
- notepad++ 根据文件内容查找文件
- 输入输出系统(四)
- 公众号三级分销使用到的php类和函数
- 【程序人生】程序员成长历程的四个阶段
- mysql 别名失效
- java-collection(迭代)
- ionic3开发过程中密码输入框随键盘的弹出,高度变小
- 《数据库技术与应用》读书笔记-未完成
- Python 开发者的 6 个必备库
- 【机房收费系统】——组合查询
- spring+sewwager在线文档生成器使用过程中遇到问题的分享
- DBCP object created 2017-12-01 08:48:35 by the following code was never closed
- Unity 项目管理与优化
- spring中的classpath代表哪个目录