java学习总结——第十五天

今天开始真正接触到集合

* Collection
-List
-Set


* Map


自动收缩


** List  
可以存放任意元素
可以通过索引访问
可以存放重复值


ArrayList:数组列表,适合查询变量,不适合修改
--- Vector
--- Stack
LinkedList:链表结构,适合修改,不适合查询遍历




遍历方法:
1、普通for循环
2、增强型for循环
3、使用迭代器Iterator


** Set
可以存放任意元素
元素不能重复




hashCode 值不等,对象不等
hashCode 相等,不带表对象一定相等 (Hash冲突)---> eqauls


HashSet   散列表
TreeSet   树形结构 有序————必须实现Comparable接口——实现CompareTo方法(返回数字,0相等,正数大于,负数小于)


遍历方法:
1、使用迭代器Iterator
2、增强型for循环


** Map
可以存放任意元素
由key和value两部分组成——Entry
key不能重复


HashMap    
HashTable
TreeMap


遍历方法:
keySet  所有的键 
values  所有的值
entrySet 所有的Entry条目



* Collections
* Arrays


* 泛型


1、检测类型,避免错误


2、提高效率(不用做无谓的装箱,拆箱动作)

一个简单密码管理

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;


public class UserManagerTest {



//注册
public void register(){
Scanner in=new Scanner(System.in);
System.out.println("请输入用户名:");
String name=in.next();
System.out.println("请输入密码:");
String pwd=in.next();


String file="users.txt";
BufferedWriter bw=null;
try {
FileWriter fw=new FileWriter(file,true);
bw=new BufferedWriter(fw);

bw.write(name+"="+pwd);
bw.newLine();

// bw.write("admin=123456");
// bw.newLine();
// bw.write("user=user");
// bw.newLine();
// bw.write("jay=abcdef");
// bw.newLine();



System.out.println("注册成功!");

} catch (IOException e) {
e.printStackTrace();
System.out.println("注册失败!");
}finally{
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}


public void login(){
Scanner in=new Scanner(System.in);
System.out.println("请输入登录用户名:");
String name=in.next();
System.out.println("请输入登录密码:");
String pwd=in.next();

String file="users.txt";
BufferedReader br=null;

try {
FileReader fr=new FileReader(file);
br=new BufferedReader(fr);

String info=null;
boolean flag=true;
while((info=br.readLine())!=null){
String[] nameAndPwd=info.split("=");
if(nameAndPwd[0].equalsIgnoreCase(name)&&nameAndPwd[1].equals(pwd)){
System.out.println("登录成功!欢迎进入管理后台!");
flag=false;
}
}

if(flag){
System.out.println("登录失败!请检查用户名和密码!");
}

} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}



public static void main(String[] args) {

UserManagerTest umt=new UserManagerTest();

System.out.println("请选择操作:1、注册  2、登录 0、退出");
Scanner in=new Scanner(System.in);
int choice=in.nextInt();

if(choice==1){
umt.register();
}else if (choice==2) {
umt.login();
}else if( choice==0){
System.out.println("再见");
}else{
System.out.println("输入有误!");
}



}


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值