⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sortbean.java

📁 Oracle源码:Oracle 数据库管理与应用系统开发代码
💻 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 + -