JAVASE基础(十四)
来源:互联网 发布:淘宝韩妆正品店铺推荐 编辑:程序博客网 时间:2024/05/22 01:34
集合
集合: 集合存储任意对象数据的容器。
集合的特点:
1. 集合可以存储任意类型的对象数据2. 集合的长度是会发生变化的。
集合体系:
———-| Collection 单列集合类的根接口。
—————-| List 如果实现了List接口的集合类,那么该集合类具备的特点: 有序、 元素可重复.
—————-| Set 如果是实行了Set接口的集合类,那么该集合类具备的特点: 无序,元素不可重复
Colllection要掌握方法:
增加: add(E e) addAll(Collection c) 把一个集合的元素添加到另外一个集合容器上。删除: clear() 清除集合的元素 remove(Object o) 删除指定的元素 removeAll(Collection c) 删除两个集合中交集元素 retainAll(Collection c) 保留两个集合中的交集元素,其他的元素删除。查看: contains(Object o) containsAll(Collection<?> c) 如果此 collection 包含指定 collection 中的所有元素,则返回 trueisEmpty() 如果Collection不包含任何的元素,则返回true,否则返回false.size() 查看集合中的元素个数迭代 : 迭代 : 遍历集合中的元素。 toArray() iterator() 获取集合中的迭代器 。 迭代器的作用就是用于抓取集合中的元素。迭代器常用的方法: hasNext() 有没有元素可遍历啊? next() 获取当前游标指向的元素,然后游标向下移动一个单位。 remove() 移除迭代器最后一次返回的元素。
public class Demo2 { public static void main(String[] args) { //创建一个集合对象 Collection c = new ArrayList(); //多态 ... //添加元素 c.add("狗娃"); c.add("狗剩"); System.out.println("添加成功吗?"+c.add("铁蛋")); //创建一个集合对象 Collection c2 = new ArrayList(); c2.add("狗娃"); c2.add("冰冰"); c2.add("美美"); /* c.addAll(c2); // 把c2中所有元素添加到c集合中。 删除 c.clear(); //清除集合的所有元素 System.out.println("删除成功吗?"+c.remove("范冰冰")); // 删除指定的元素 System.out.println("删除成功?"+c.removeAll(c2)); // 删除c集合与c2集合中的交集元素。 */ c.retainAll(c2); System.out.println("c集合的元素:"+ c); }}
import java.util.Collection;class Person{ int id; String name; public Person(int id, String name) { super(); this.id = id; this.name = name; } @Override public String toString() { return "{身份证:"+ this.id+" 姓名:"+ this.name+"}"; } @Override public boolean equals(Object obj) { Person p = (Person)obj; return this.id == p.id; }}public class Demo3 { public static void main(String[] args) { Collection c = new ArrayList(); //接口关系下的多态, 方法都是使用了接口实现类的方法, //添加元素 c.add(new Person(110,"狗娃")); c.add(new Person(112,"狗剩")); c.add(new Person(119,"铁蛋")); //在现实圣湖中只有身份证编号一致,则是同一个人 /* Person p = new Person(110,"狗娃"); System.out.println("包含该元素吗?"+ c.contains(p)); // contains 方法底层是依赖了equals方法进行比较的。 Collection c2 = new ArrayList(); c2.add(new Person(110,"狗娃")); c2.add(new Person(112,"狗剩")); System.out.println("包含集合中的所有元素吗?"+ c.containsAll(c2)); c.clear(); c.add(null); System.out.println("c集合是空 元素吗?"+ c.isEmpty()); */ System.out.println("集合的元素个数:"+ c.size()); System.out.println("集合的元素:"+ c); }}
public class Demo4 { public static void main(String[] args) { Collection c = new ArrayList(); c.add("王林"); c.add("马云"); c.add("赵薇"); c.add("思聪"); /* 遍历集合元素的方式一:可以使用toArray方法遍历 Object[] arr = c.toArray(); //把集合中的元素存储到一个Object数组中返回。 for(int i = 0 ; i < arr.length ; i++){ System.out.print(arr[i]+","); } */ //获取到了迭代器 Iterator it = c.iterator(); /*System.out.println("有元素可遍历吗?"+ it.hasNext()); System.out.println("元素:"+ it.next()); while(it.hasNext()){ System.out.println(it.next()); } it.remove(); */ //清空集合的元素 while(it.hasNext()){ it.next(); it.remove(); } System.out.println("集合的元素:"+ c); }}
需求: 实现注册于登陆功能。
要求:
1. 用户选择功能的时候要忽略大小写。
2. 注册的时候要求用户输入用户名与密码。 把用户名与密码的用户信息保存到集合中。
3. 登陆: 提示用户输入用户名与密码,如果用户名与密码一致匹配上集合中的某个元素,那么登陆成功。 (强制要求使用迭代器去实现)
class User{ private String userName; private String password; public User(String userName, String password) { super(); this.userName = userName; this.password = password; } public User() { } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "{用户名:"+ this.userName+" 密码:"+ this.password+"}"; }}public class Demo1 { //创建一个集合对象用于存储用户的数据 static Collection users = new ArrayList(); static Scanner scanner = new Scanner(System.in); 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("请输入登陆的用户名:"); String userName = scanner.next(); //狗娃 System.out.println("请输入登陆的密码"); String password = scanner.next(); // 234 //使用迭代器遍历集合 Iterator it = users.iterator(); //获取迭代器 boolean isLogin = false; //默认是没有登陆成功... while(it.hasNext()){ User user = (User) it.next(); // admin , 123 。 狗娃 234 if(user.getUserName().equals(userName)&&user.getPassword().equals(password)){ isLogin = true; break; } } if(isLogin){ System.out.println("登陆成功..."); }else{ System.out.println("登陆失败..."); } } //注册方法... public static void reg() { System.out.println("请输入注册的用户名:"); String userName = scanner.next(); System.out.println("请输入密码:"); String password = scanner.next(); //则应该把这些用户信息用于创建一个用户对象 User user = new User(userName, password); users.add(user); System.out.println("注册成功..."); System.out.println("集合的元素:"+ users); }}
阅读全文
0 0
- JAVASE基础(十四)
- JavaSE基础
- JavaSE基础
- javase基础
- JavaSE基础
- javaSE基础
- JavaSE基础
- JavaSE基础
- JavaSE基础
- JavaSE 基础
- JavaSE基础
- 01javaSE基础 javaSE环境变量
- JavaSE第七十四讲:自定义异常
- JavaSE复习之十四 高级特性:GUI
- JavaSE基础小结--0
- JavaSE基础加强
- Javase基础(一)
- Javase基础(二)
- 和为s的连续正数序列
- 谷歌,微软,百度等公司经典题库
- POJ
- python判断是否质数
- mysql设置2个主键
- JAVASE基础(十四)
- Python入门学习记录——List(列表)
- EXOPlayer简要学习及应用
- 大数据架构和模式(三)理解大数据解决方案的架构层
- 控制敌人数量及波数
- python的字符串
- 从尾到头打印链表
- HTML5新特性-元素的classList属性与应用
- shell:当你运行while true的时候,你实际在做什么?