📄 sortbean.java
字号:
package oa.bean;
import java.text.*;
import java.util.*;
import java.lang.*;
import java.io.*;
import java.sql.*;
import oa.main.*;
public class SortBean extends ParentBean
{
//1.判断哪列排序;2.如果是字符串,先转成char[];3.对v1进行排序;(分两种:字符串型和int)4.将v2插入排序
MailElementBean meb;
public SortBean(MailElementBean meb)
{
this.meb = meb;
}
public SortBean()
{
}
/** compareTo接口
*
*
**/
/*
public int compareTo(Object obj)
{
SortBean temp = (SortBean)obj;
return this.meb.compareTo(temp.meb);
}
*/
/** 将字符串转化成char[]
*
*
**/
private char[] StringtoChar (String s)
{
char[] c = s.toLowerCase().toCharArray();
return c;
}
/** 对v1排序:FJRZGBH
*
*
**/
public ArrayList SortSJR (Vector v1)
{
ArrayList list = new ArrayList();
MailElementBean meb1,temp;
for (int i=0;i<v1.size() ;i++ )
{
meb = new MailElementBean();
meb = (MailElementBean)v1.get(i);
if (meb.getFJRZGBH()!=null)
{
for (int j=i+1;j<v1.size() ;j++ )
{
String zgbh1 = meb.getFJRZGBH();
int n1 = Integer.parseInt(zgbh1);
meb1 = new MailElementBean();
meb1 = (MailElementBean)v1.get(j);
String zgbh2 = meb1.getFJRZGBH();
int n2 = Integer.parseInt(zgbh2);
if (n1>n2)
{
temp = meb;
meb = meb1;
meb1 = temp;
v1.set(i,meb);
v1.set(j,meb1);
}
}
}
else
{
for (int j=i+1;j<v1.size() ;j++ )
{
String zgbh1 = meb.getSJRZGBH();
String[] bh1 = zgbh1.split(",");
int n1 = Integer.parseInt(bh1[0]);
meb1 = new MailElementBean();
meb1 = (MailElementBean)v1.get(j);
String zgbh2 = meb1.getSJRZGBH();
String[] bh2 = zgbh2.split(",");
int n2 = Integer.parseInt(bh2[0]);
if (n1>n2)
{
temp = meb;
meb = meb1;
meb1 = temp;
v1.set(i,meb);
v1.set(j,meb1);
}
}
}
}
for (int k=0;k<v1.size() ;k++ )
{
meb = (MailElementBean)v1.get(k);
list.add(k,meb);
}
/*
for (int k=0;k<list.size() ;k++ )
{
meb = (MailElementBean)list.get(k);
System.out.println("list===="+meb.getFJRZGBH());
}
*/
return list;
}
/** 对v1排序:主题;
*
*
**/
public ArrayList SortZT (Vector v1)
{
ArrayList list = new ArrayList();
MailElementBean meb1,temp;
for (int i=0;i<v1.size() ;i++ )
{
for (int j=i+1;j<v1.size() ;j++ )
{
meb = (MailElementBean)v1.get(i);
String zt1 = meb.getZT();
temp = new MailElementBean();
meb1 = new MailElementBean();
meb1 = (MailElementBean)v1.get(j);
String zt2 = meb1.getZT();
int flag = zt1.compareTo(zt2);
if (flag>0)
{
temp = meb;
meb = meb1;
meb1 = temp;
v1.set(i,meb);
v1.set(j,meb1);
}
}
}
for (int k=0;k<v1.size() ;k++ )
{
meb = (MailElementBean)v1.get(k);
list.add(k,meb);
}
return list;
}
/** 对v1排序:发送时间;
*
*
**/
public ArrayList SortFSSJ (Vector v1)
{
ArrayList list = new ArrayList();
MailElementBean meb1,temp;
for (int i=0;i<v1.size() ;i++ )
{
for (int j=i+1;j<v1.size() ;j++ )
{
meb = new MailElementBean();
meb = (MailElementBean)v1.get(i);
String fssj1 = meb.getFSSJ();
meb1 = new MailElementBean();
meb1 = (MailElementBean)v1.get(j);
String fssj2 = meb1.getFSSJ();
int flag = fssj1.compareTo(fssj2);
if (flag>0)
{
temp = meb;
meb = meb1;
meb1 = temp;
v1.set(i,meb);
v1.set(j,meb1);
}
}
}
for (int k=0;k<v1.size() ;k++ )
{
meb = (MailElementBean)v1.get(k);
list.add(k,meb);
}
return list;
}
/** 对v1排序:附件及附件大小;
*
*
**/
public ArrayList SortFJ (Vector v1)
{
ArrayList list = new ArrayList();
MailElementBean meb1,temp;
for (int i=0;i<v1.size() ;i++ )
{
for (int j=i+1;j<v1.size() ;j++ )
{
meb = new MailElementBean();
meb = (MailElementBean)v1.get(i);
int fjdx1 = meb.getFJDX();
meb1 = new MailElementBean();
meb1 = (MailElementBean)v1.get(j);
int fjdx2 = meb1.getFJDX();
if (fjdx1>fjdx2)
{
temp = meb;
meb = meb1;
meb1 = temp;
v1.set(i,meb);
v1.set(j,meb1);
}
}
}
for (int k=0;k<v1.size() ;k++ )
{
meb = (MailElementBean)v1.get(k);
list.add(k,meb);
}
return list;
}
/** 从list中取最大值
*
*
**/
private MailElementBean getMax(ArrayList list)
{
MailElementBean meb_max = new MailElementBean();
meb_max = (MailElementBean)list.get(list.size()-1);
return meb_max;
}
/** 从list中取最小值
*
*
**/
private MailElementBean getMin(ArrayList list)
{
MailElementBean meb_min = new MailElementBean();
meb_min = (MailElementBean)list.get(0);
return meb_min;
}
/** 对v2进行插入排序:收、发件人
*
*
**/
public ArrayList ResortSJR(Vector v2,ArrayList list)
{
MailElementBean meb1,meb2,meb_min,meb_max;
meb_min = new MailElementBean();
for (int i=0;i<v2.size() ;i++ )
{
meb_min = getMin(list);
meb_max = getMax(list);
int zgbh_min = 0;
int zgbh_max = 0;
int zgbh2 = 0;
int zgbh3 = 0;
//有问题
if (meb_min.getFJRZGBH()!=null)
{
zgbh_min = Integer.parseInt(meb_min.getFJRZGBH());
}
else if (meb_min.getSJRZGBH()!=null)
{
String[] bh = meb_min.getSJRZGBH().split(",");
zgbh_min = Integer.parseInt(bh[0]);
}
if (meb_max.getFJRZGBH()!=null)
{
zgbh_max = Integer.parseInt(meb_max.getFJRZGBH());
}
else if (meb_max.getSJRZGBH()!=null)
{
String[] bh1 = meb_min.getSJRZGBH().split(",");
zgbh_max = Integer.parseInt(bh1[0]);
}
meb = new MailElementBean();
meb = (MailElementBean)v2.get(i);
String zgbh = meb.getSJRZGBH();
String[] zgbh1 = zgbh.split(",");
int z = Integer.parseInt(zgbh1[0]);
if (z<zgbh_min)
{
list.add(0,meb);
continue;
}
else if(z>zgbh_max)
{
list.add(meb);
continue;
}
else
{
for (int j=0;j<list.size()-1 ;j++ )
{
meb1 = (MailElementBean)list.get(j);
meb2 = (MailElementBean)list.get(j+1);
if (meb1.getFJRZGBH()!=null)
{
zgbh2 = Integer.parseInt(meb2.getFJRZGBH());
}
else if (meb1.getSJRZGBH()!=null)
{
String[] bh2 = meb1.getSJRZGBH().split(",");
zgbh2 = Integer.parseInt(bh2[0]);
}
if (meb2.getFJRZGBH()!=null)
{
zgbh3 = Integer.parseInt(meb2.getFJRZGBH());
}
else if (meb2.getSJRZGBH()!=null)
{
String[] bh3 = meb2.getSJRZGBH().split(",");
zgbh3 = Integer.parseInt(bh3[0]);
}
if (z>=zgbh2 && z<=zgbh3)
{
list.add(j+1,meb);
break;
}
}
}
}
/*
System.out.println("**********************************");
for (int k=0;k<list.size() ;k++ )
{
meb = (MailElementBean)list.get(k);
if (meb.getFJRZGBH()!=null)
{
System.out.println("list===="+meb.getFJRZGBH());
}
else
{
System.out.println("list===="+meb.getSJRZGBH());
}
}
*/
return list;
}
/** 对v2进行插入排序:主题
*
*
**/
public ArrayList ResortZT(Vector v2,ArrayList list)
{
MailElementBean meb1,meb2,meb_min,meb_max;
meb_min = new MailElementBean();
int flag,flag3;
for (int i=0;i<v2.size() ;i++ )
{
meb_min = getMin(list);
meb_max = getMax(list);
String zt_min = meb_min.getZT();
String zt_max = meb_max.getZT();
meb = new MailElementBean();
meb = (MailElementBean)v2.get(i);
String zt = meb.getZT();
flag = zt.compareTo(zt_min);
flag3 = zt.compareTo(zt_max);
if (flag<0)
{
list.add(0,meb);
continue;
}
else if (flag3>0)
{
list.add(meb);
continue;
}
else
{
for (int j=0;j<list.size()-1 ;j++ )
{
meb1 = new MailElementBean();
meb1 = (MailElementBean)list.get(j);
meb2 = new MailElementBean();
meb2 = (MailElementBean)list.get(j+1);
String zt1 = meb1.getZT();
String zt2 = meb2.getZT();
int flag1 = zt.compareTo(zt1);
int flag2 = zt.compareTo(zt2);
if (flag1>=0 && flag2<=0)
{
list.add(j+1,meb);
break;
}
}
}
}
return list;
}
/** 对v2进行插入排序:发送时间
*
*
**/
public ArrayList ResortFSSJ(Vector v2,ArrayList list)
{
MailElementBean meb1,meb2,meb_min,meb_max;
int flag,flag3;
for (int i=0;i<v2.size() ;i++ )
{
meb_min = getMin(list);
meb_max = getMax(list);
String fssj_min = meb_min.getFSSJ();
String fssj_max = meb_max.getFSSJ();
meb = new MailElementBean();
meb = (MailElementBean)v2.get(i);
String fssj = meb.getFSSJ();
flag = fssj.compareTo(fssj_min);
flag3 = fssj.compareTo(fssj_max);
if (flag<0)
{
list.add(0,meb);
continue;
}
else if (flag3>0)
{
list.add(meb);
continue;
}
else
{
for (int j=0;j<list.size()-1 ;j++ )
{
meb1 = new MailElementBean();
meb1 = (MailElementBean)list.get(j);
meb2 = new MailElementBean();
meb2 = (MailElementBean)list.get(j+1);
String fssj1 = meb1.getFSSJ();
String fssj2 = meb2.getFSSJ();
int flag1 = fssj.compareTo(fssj1);
int flag2 = fssj.compareTo(fssj2);
if (flag1>=0 && flag2<=0)
{
list.add(j+1,meb);
break;
}
}
}
}
return list;
}
/** 对v2进行插入排序:附件及附件大小
*
*
**/
public ArrayList ResortFJ(Vector v2,ArrayList list)
{
MailElementBean meb1,meb2,meb_min,meb_max;
int flag;
for (int i=0;i<v2.size() ;i++ )
{
meb_min = getMin(list);
meb_max = getMax(list);
int fj_min = meb_min.getFJDX();
int fj_max = meb_max.getFJDX();
meb = new MailElementBean();
meb = (MailElementBean)v2.get(i);
int fj = meb.getFJDX();
if (fj<fj_min)
{
list.add(0,meb);
continue;
}
else if (fj>fj_max)
{
list.add(meb);
continue;
}
else
{
for (int j=0;j<list.size()-1 ;j++ )
{
meb1 = (MailElementBean)list.get(j);
meb2 = (MailElementBean)list.get(j+1);
int fj1 = meb1.getFJDX();
int fj2 = meb2.getFJDX();
if (fj>=fj1 && fj<=fj2)
{
list.add(j+1,meb);
break;
}
}
}
}
return list;
}
/** 判断对什么排序
*
*
**/
public ArrayList Sort (String searchType,Vector v1,Vector v2)
{
ArrayList list = new ArrayList();
if (searchType.equals("1"))
{
list = SortSJR(v1);
list = list.isEmpty()?SortSJR(v2):ResortSJR(v2,list);
}
else if (searchType.equals("2"))
{
list = SortZT(v1);
list = list.isEmpty()?SortZT(v2):ResortZT(v2,list);
}
else if (searchType.equals("3"))
{
list = SortFSSJ(v1);
list = list.isEmpty()?SortFSSJ(v2):ResortFSSJ(v2,list);
}
else if (searchType.equals("4") || searchType.equals("5"))
{
list = SortFJ(v1);
list = list.isEmpty()?SortFJ(v2):ResortFJ(v2,list);
}
return list;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -