一个泛型的应用,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. wordpress模板里加keywords和description

    刚才我说了,wp会弄的话,功能是很强大的,插件很多,基本上你能想到的功能,插件都开发好了的.现在就来说说这个keywords和description的问题.我在网上找了些资料,总结一下,如果有引用到的 ...

  2. 为什么 JVM 不用 JIT 全程编译

    从知乎扣出来的内容 https://www.zhihu.com/question/37389356 作者:RednaxelaFX链接:https://www.zhihu.com/question/37 ...

  3. @echo 与 echo的区别

    @echo运行时 隐藏命令(不在terminal上显示) echo运行时显示命令(在terminal上显示) 同理@cp 与 cp  复制命令   不显示/显示

  4. numpy的linspace函数

    numpy.linspace(start, stop, num=50, endpoint=True, retstep=False,dtype=None)[source] 文档:https://docs ...

  5. 【转载】Docker 经验之谈

    本文来源:Ghostcloud原创     对于用户来说,可能一开始在不了解的情况下会对容器报以拒绝的态度,但是在尝到容器的甜头.体验到它的强大性能之后,相信大家最终是无法抵挡其魅力的.容器技术能够解 ...

  6. Vector的小知识点

    预留容量的两类方式: 1.不调用默认的构造函数 vector<int> v; v.push_back(111); v.reserve(20); std::copy(v.begin(), v ...

  7. sqoop操作之HIVE导出到ORACLE

    示例数据准备 hive中创建dept表 create table dept( deptno int, dname string, loc string ) row format delimited f ...

  8. Spark SQL 编程

    Spark SQL的依赖 Spark SQL的入口:SQLContext 官方网站参考 https://spark.apache.org/docs/1.6.2/sql-programming-guid ...

  9. Android:手把手教你打造可缩放移动的ImageView(下)

    在上一篇Android:手把手教你打造可缩放移动的ImageView最后提出了一个注意点:当自定义的MatrixImageView如ViewPager.ListView等带有滑动效果的ViewGrou ...

  10. python第一个爬虫的例子抓取数据到mysql,实测有数据

    python3.5 先安装库或者扩展 1 requests第三方扩展库 pip3 install requests 2 pymysql pip3 install pymysql 3 lxml pip3 ...