一个泛型的应用,Java版本增删改查,写的简陋,望批评指正

2016-07-02

很久前写的一个程序了。拿出来存一下,不是为了展示啥,自己用的时候还可以看看。写的很粗糙。

 import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet; public class studen implements Comparable<studen>{
public int id;
public String name;
public char sex;
public String address;
public int javascore;
public int cscore;
public int byscore;
public int j2eescore;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getJavascore() {
return javascore;
}
public void setJavascore(int javascore) {
this.javascore = javascore;
}
public int getCscore() {
return cscore;
}
public void setCscore(int cscore) {
this.cscore = cscore;
}
public int getByscore() {
return byscore;
}
public void setByscore(int byscore) {
this.byscore = byscore;
}
public int getJ2eescore() {
return j2eescore;
}
public void setJ2eescore(int j2eescore) {
this.j2eescore = j2eescore;
}
public void setall(int id, String name,char sex,String address,int javascore,int cscore, int byscore,int j2eescore)
{
this.id=id;
this.address=address;
this.name=name;
this.byscore=byscore;
this.cscore=cscore;
this.j2eescore=j2eescore;
this.sex=sex;
this.javascore=javascore;
} @Override
public String toString() {
return "studen [id=" + id + ", name=" + name + ", sex=" + sex
+ ", address=" + address + ", javascore=" + javascore
+ ", cscore=" + cscore + ", byscore=" + byscore
+ ", j2eescore=" + j2eescore + "]";
} public static void main(String[] args) {
// TODO Auto-generated method stub
Set<studen> A=new HashSet<studen>();
//// /////
File file = new File("infor.txt");
if(file.exists()&&file.isFile())
{
try {
FileReader read=new FileReader("infor.txt");
BufferedReader re=new BufferedReader (read);
String str;
while((str=re.readLine())!=null)
{
//System.out.println(str); String arr[]=str.split(" ");
studen st=new studen();
st.setId(Integer.parseInt(arr[0]));
st.setName(arr[1]);
st.setSex(arr[2].charAt(0));
st.setAddress(arr[3]);
st.setJavascore(Integer.parseInt(arr[4]));
st.setJavascore(Integer.parseInt(arr[5]));
st.setByscore(Integer.parseInt(arr[6]));
st.setJ2eescore(Integer.parseInt(arr[7]));
System.out.println(st.toString());
A.add(st); //System.out.println();
} for(Iterator<studen> it=A.iterator();it.hasNext();)
{
String ss=it.next().toString();
System.out.println("HashSet1***:"+ss+" ");
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
System.out.print("can not read the txt");
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
//插入一个新的student对象给集合SET
System.out.print("插入一个学生 2, GOQI, f,beijing, 90, 89, 78,94:");
studen stu2=new studen();
stu2.setall(2, "GOQI", 'f',"beijing", 90, 89, 78,94);
A.add(stu2);
TreeSet<studen> ts=new TreeSet<studen>();
for(Iterator<studen> it=A.iterator();it.hasNext();)
{
studen cad=it.next();
ts.add(cad);
}
for(Iterator<studen> it2=ts.iterator();it2.hasNext();)
{
System.out.println("Treeset(按ID排序结果):"+it2.next().toString());
}
//serach student
System.out.println("输入待查学生姓名:");
Scanner cin=new Scanner(System.in);
if(cin.hasNext())
{
String name=cin.next();
studen s1=new studen(); ///?
int flage=0;
studen Temp;
for(Iterator<studen> it=A.iterator();it.hasNext();)
{
Temp = it.next();
if(Temp .getName().equals(name))
{
flage=1;
System.out.println("exist this student.");
System.out.println("该生信息为:"+Temp.toString());
break;
}
else
{
;
}
}
if(flage==0)
{
System.out.println("Not exist this student.");
}
}
//删除学生 System.out.println("输入待删除学生姓名:");
Scanner cin2=new Scanner(System.in);
if(cin2.hasNext())
{
String name2=cin2.next(); int flage=0;
studen Temp;
for(Iterator<studen> it=A.iterator();it.hasNext();)
{
Temp = it.next();
if(Temp .getName().equals(name2))
{
flage=1;
it.remove();
System.out.println("removed this student."); break;
} }
if(flage==0)
{
System.out.println("Not exist this student so we can not remove it.");
}
}
//map
Map<Integer,TreeSet<studen>> map=new HashMap<Integer, TreeSet<studen>>();
TreeSet<studen> tm0=new TreeSet<studen>();
TreeSet<studen> tm1=new TreeSet<studen>();
TreeSet<studen> tm2=new TreeSet<studen>();
TreeSet<studen> tm3=new TreeSet<studen>();
TreeSet<studen> tm4=new TreeSet<studen>();
Iterator<studen> treeit=ts.iterator(); studen sno=new studen();
//将学生信息按照%5ID对应treeset 依次放入。
while(treeit.hasNext())
{
sno=(studen) treeit.next();
if(sno.getId()%5==0)
{
tm0.add(sno);
}
else if(sno.getId()%5==1)
{
tm1.add(sno);
}
else if(sno.getId()%5==2)
{
tm2.add(sno);
}
else if(sno.getId()%5==3)
{
tm3.add(sno);
}
else
{
tm4.add(sno);
}
} map.put(0,tm0);
map.put(1,tm1);
map.put(2,tm2);
map.put(3,tm3);
map.put(4,tm4);
////print map
System.out.println("map id:0~4(%5):");
for(Object o : map.keySet()){ System.out.println( "map输出:"+map.get(o).size()+"个:"+map.get(o).toString()); }
}//main @Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + id;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
studen other = (studen) obj;
if (id != other.id)
return false;
System.out.println("!!!id 重复无法插入,重复ID为:"+id);
return true;
}
@Override
public int compareTo(studen o) {
// TODO Auto-generated method stub
int result=this.getId()>o.getId()?1:
(this.getId()==o.getId()?0:-1);
return result;
} }

也是泛型的应用

Java学生信息增删改查(并没用数据库)的更多相关文章

  1. Spring Boot实现学生信息增删改查

    上一篇博客写了如何初始化一个简单的Spring Boot项目,这次详细记录一下如何连接数据库并实现增删改查基本操作. 我使用的是MySQL 5.5+Navicat,MySQL量级比较轻,当然微软的SQ ...

  2. MVC模式的学生信息增删改查

    准备:建一个名为 userdb的数据库.建一个student表,有stuid,stuname,gender三个字段.其中stuid为主键.j加入相应的驱动包,相应的JSTL标签 先看目录结构 代码: ...

  3. Sqlite3 实现学生信息增删改查

    import sqlite3 conn = sqlite3.connect('studentsdb.db') # 连接数据库 cursor = conn.cursor( ) # 创建数据表 def c ...

  4. Model1模式的学生信息增删改查

    Student.java package entity; public class Student { private int stuid; private String stuname; priva ...

  5. python学习之-成员信息增删改查

    python学习之-成员信息增删改查 主要实现了成员信息的增加,修改,查询,和删除功能,写着玩玩,在写的过程中,遇到的问题,旧新成员信息数据的合并,手机号和邮箱的验证,#!/usr/bin/env p ...

  6. python全栈开发中级班全程笔记(第二模块、第三章)(员工信息增删改查作业讲解)

    python全栈开发中级班全程笔记 第三章:员工信息增删改查作业代码 作业要求: 员工增删改查表用代码实现一个简单的员工信息增删改查表需求: 1.支持模糊查询,(1.find name ,age fo ...

  7. 【良心保姆级教程】java手把手教你用swing写一个学生的增删改查模块

    很多刚入门的同学,不清楚如何用java.swing去开发出一个系统? 不清楚如何使用java代码去操作数据库进行增删改查一些列操作,不清楚java代码和数据库(mysql.sqlserver)之间怎么 ...

  8. 百度鹰眼Java接口调用增删改查实例

    因感觉百度鹰眼的使用场景比较符合实际业务,于是对百度鹰眼做了简单功能调试.刚开始使用springframework封装的RestTemplate,但是测试提示ak参数不存在.后又试了几种方法,均提示a ...

  9. JDBC+Servlet+JSP的学生案例增删改查

    数据库信息传输到页面实现. 先进行学生信息页面展示: 接口IStudentDao public interface IStudentDao { /** * 保存操作 * @param stu 学生对象 ...

随机推荐

  1. MySQL 误删用户

    误删除root用户&误删除所有用户 #----------------------------------------------------------------------------- ...

  2. Spark学习笔记5:Spark集群架构

    Spark的一大好处就是可以通过增加机器数量并使用集群模式运行,来扩展计算能力.Spark可以在各种各样的集群管理器(Hadoop YARN , Apache Mesos , 还有Spark自带的独立 ...

  3. Hibernate cascade级联

    cascade: 级联: 是对象的连锁操作 级联保存(一对多): 级联保存: 当保存双向关系的一方时,默认会报告错误,此时应该在customr中设置级联保存,即操作一个对象时,通过操作其他关联对象 如 ...

  4. 【BZOJ】1101 [POI2007]Zap(莫比乌斯反演)

    题目 传送门:QWQ 分析 莫比乌斯反演. 还不是很熟练qwq 代码 //bzoj1101 //给出a,b,d,询问有多少对二元组(x,y)满足gcd(x,y)=d.x<=a,y<=b # ...

  5. linux系统下修改文件夹目录权限-chmod

    Linux.Fedora.Ubuntu修改文件.文件夹权限的方法差不多.很多人开始接触Linux时都很头痛Linux的文件权限问题.这里告诉大家如何修改Linux文件-文件夹权限.以主文件夹下的一个名 ...

  6. leetcode976

    public class Solution { public int LargestPerimeter(int[] A) { var list = A.OrderByDescending(x => ...

  7. UI5-文档-4.11-Pages and Panels

    在完成了应用程序结构的所有工作之后,是时候改进我们的应用程序的外观了.在这一步中,您还将了解控件聚合. Preview A panel is now displaying the controls f ...

  8. PAXOS/RAFT理解

    PAXOS学习记录 前提: 信息准确无篡改,通信环境可信 目的: 解决多结点间一致性问题(集群中一个修改或者申请成为主结点的提议) 主要角色: Proposer :提出议案(同时存在一个或者多个,他们 ...

  9. Jquery无缝轮播图的制作

    轮播是html页面中比较常见的一种展现形式,也是基础,把轮播图做好,是排版中比较关键的 1.首先是轮播的html元素放置:做轮播之前,要有一个初步的认识 2.每个元素的位置怎样摆放,也是很关键的,这里 ...

  10. Zuul超时问题,微服务响应超时,zuul进行熔断

    天碰到了微服务响应超时问题,而且超时时间特别短,2秒就超时,zuul就走熔断了. 我采用zuul作为网关,根据不同的访问路径进行微服务的路由,譬如有个服务是user,我访问user服务的某个接口时,该 ...