今天开始真正接触到集合
* 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("输入有误!");
}
}
}