【Java】day15--Collection接口、List接口、ArrayList类、LinkedList类、HashSet类部分知识点总结

本文总结了Java集合框架中的List接口及其特性,包括add、remove、set等操作,并介绍了ArrayList和LinkedList的区别。ArrayList适用于查询多、增删少的场景,底层基于数组;LinkedList适用于增删频繁的场景,底层采用链表结构。同时,文章还提及了HashSet类,强调其无序、不可重复的特性,以及基于哈希表的存储原理。
摘要由CSDN通过智能技术生成

(一)集合实现用户注册登录

//用户类
class User{
	private String userName;//封装,保证数据安全,防止被更改
	private String password;
	//构造函数
	public User(String userName, String password) {
		super();
		this.userName = userName;
		this.password = password;
	}
	//get set函数
	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+"}";
	}
	@Override
	public boolean equals(Object obj) {
		User user=(User)obj;//强制类型转换,才能调用子类特有的成员
		return this.userName.equals(user.userName)&&this.password.equals(user.password);
	}
}
public class login {
	//创建一个集合对象用于存储用户的数据
	static Collection users=new ArrayList();//共享出来,函数都可以直接访问到
	static Scanner scanner=new Scanner(System.in);
	public static void main(String[] args) {
		while(true) {
			System.out.println("请选择功能:R(注册) L(登录)");
			String option=scanner.next();//获取用户输入
			
			if("R".equalsIgnoreCase(option)) {//注册
				System.out.println("你选择了注册功能...");
				register();
			}else if("L".equalsIgnoreCase(option)) {//登录
				System.out.println("你选择了登录功能...");
				log();
			}
		}
	}
	public static void log() {
		System.out.println("请输入用户名:");
		String userName=scanner.next();
		System.out.println("请输入密码:");
		String password=scanner.next();
		/*
		//contains()遍历
		User user=new User(userName,password);
		if(users.contains(user)) {
			System.out.println("登录成功...");
		}else {
			System.out.println("用户名或密码错误...");
		}*/
		//使用迭代器迭代 遍历
		Iterator it=users.iterator();//获取迭代器
		int flag=0;//标记是否登陆成功
		while(it.hasNext()) {
			User user=(User)it.next();//
			String name=user.getUserName();
			String pwd=user.getPassword();
			if(userName.equals(name)&&password.equals(pwd)) {
				System.out.println("用户登录成功!!!");
				flag=1;
				break;
			}
		}
		if(flag==0) {
			System.out.println("用户名或密码错误...");
		}
	}
	public s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值