集合类的常见用法

可以用集合类实现栈、队列等常见需求


package cn.ibeans.test;

import java.util.LinkedList;
/**
* 本示例程序通过LinkedList集合类现实栈,即体现后进先出的思想
* @author llf
*
*/
public class MyStack {
LinkedList ll = new LinkedList();

/**
* 入栈
* @param o
*/
public void push(Object o){
ll.addFirst(o);
}

/**
* 出栈
* @return
*/
public Object pop(){
return ll.removeFirst();
}

/**
* 检查栈内是否为空
* @return
*/
public boolean isEmpty(){
return ll.isEmpty();
}

public static void main(String[] args) {
MyStack stack = new MyStack();
stack.push("one");
stack.push("two");
stack.push("three");

while(!stack.isEmpty()){
System.out.println(stack.pop());
}
}
}



队列:

package cn.ibeans.test;

import java.util.LinkedList;
import java.util.List;
/**
* 本示例程序实现先进先出的队列思想
* @author llf
*
*/
public class MyQueue {
private LinkedList ll = new LinkedList();

/**
* 入列
* @param o
*/
public void put(Object o){
ll.addLast(o);
}

/**
* 出列
* @return
*/
public Object get(){
return ll.removeFirst();
}

public boolean isEmpty(){
return ll.isEmpty();
}

public static void main(String[] args) {
MyQueue queue = new MyQueue();
queue.put("one");
queue.put("two");
queue.put("three");

while(!queue.isEmpty()){
System.out.println(queue.get());
}
}
}


hashset:

package cn.ibeans.test;

import java.util.HashSet;
import java.util.Iterator;

/**
* 本示例程序通过hashset实现不重复的set集合
* 为此,集合中的每个元素应该实现hashCode()和equals()方法
* @author llf
*
*/
public class MyHashSet {

public static void main(String[] args) {
HashSet hs = new HashSet();
hs.add(new Student("zhangsan",1));
hs.add(new Student("lishi",2));
hs.add(new Student("zhangsan",1));
hs.add(new Student("wangwu",3));


Iterator it = hs.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}

}


class Student{
int age;
String name;
Student(String name,int age){
this.age=age;
this.name = name;
}

public int hashCode(){
return age*name.hashCode();
}

public boolean equals(Object o){
Student s = (Student)o;
return s.age==age && s.name.equals(name);
}

public String toString(){
return "name : "+age;
}
}


treeset:

package cn.ibeans.test;

import java.util.Iterator;
import java.util.TreeSet;

/**
* 通过treeset实现一个排序的集合对象
* 其内每个元素是实现comparable接口,或是用一个比较器来构造treeset对象
* @author llf
*
*/
public class MyTreeSet {
public static void main(String[] args) {
TreeSet hs = new TreeSet();
hs.add(new Man("zhangsan",1));
hs.add(new Man("lishi",2));
hs.add(new Man("zhangsan",1));
hs.add(new Man("wangwu",3));
hs.add(new Man("wangwu",0));


Iterator it = hs.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
}

class Man implements Comparable{
int age;
String name;
Man(String name,int age){
this.age=age;
this.name = name;
}

public int compareTo(Object o){
Man s = (Man)o;
int result = age>s.age ? 1:(age==s.age?0:-1);
if(result==0){
result = name.compareTo(s.name);
}
return result;
}

public int hashCode(){
return age*name.hashCode();
}

public boolean equals(Object o){
Student s = (Student)o;
return s.age==age && s.name.equals(name);
}

public String toString(){
return name +" : "+age;
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本火锅店点餐系统采用Java语言和Vue技术,框架采用SSM,搭配Mysql数据库,运行在Idea里,采用小程序模式。本火锅店点餐系统提供管理员、用户两种角色的服务。总的功能包括菜品的查询、菜品的购买、餐桌预定和订单管理。本系统可以帮助管理员更新菜品信息和管理订单信息,帮助用户实现在线的点餐方式,并可以实现餐桌预定。本系统采用成熟技术开发可以完成点餐管理的相关工作。 本系统的功能围绕用户、管理员两种权限设计。根据不同权限的不同需求设计出更符合用户要求的功能。本系统中管理员主要负责审核管理用户,发布分享新的菜品,审核用户的订餐信息和餐桌预定信息等,用户可以对需要的菜品进行购买、预定餐桌等。用户可以管理个人资料、查询菜品、在线点餐和预定餐桌、管理订单等,用户的个人资料是由管理员添加用户资料时产生,用户的订单内容由用户在购买菜品时产生,用户预定信息由用户在预定餐桌操作时产生。 本系统的功能设计为管理员、用户两部分。管理员为菜品管理、菜品分类管理、用户管理、订单管理等,用户的功能为查询菜品,在线点餐、预定餐桌、管理个人信息等。 管理员负责用户信息的删除和管理,用户的姓名和手机号都可以由管理员在此功能里看到。管理员可以对菜品的信息进行管理、审核。本功能可以实现菜品的定时更新和审核管理。本功能包括查询餐桌,也可以发布新的餐桌信息。管理员可以查询已预定的餐桌,并进行审核。管理员可以管理公告和系统的轮播图,可以安排活动。管理员可以对个人的资料进行修改和管理,管理员还可以在本功能里修改密码。管理员可以查询用户的订单,并完成菜品的安排。 当用户登录进系统后可以修改自己的资料,可以使自己信息的保持正确性。还可以修改密码。用户可以浏览所有的菜品,可以查看详细的菜品内容,也可以进行菜品的点餐。在本功能里用户可以进行点餐。用户可以浏览没有预定出去的餐桌,选择合适的餐桌可以进行预定。用户可以管理购物车里的菜品。用户可以管理自己的订单,在订单管理界面里也可以进行查询操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值