虚拟主机行业最新资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:站长资讯>-> 在线教程-> JSP教程
java写的StringList类-JSP教程,Java技巧及代码
作者:网友供稿 点击:36
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,空间150元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
 

delphi的stringlist类真好用啊 试着用java写了一个

package com.zhao_yi.sysutils.classes;

import java.util.list;
import java.util.arraylist;
import java.util.stringtokenizer;
import com.zhao_yi.sysutils.sysutil;
import com.zhao_yi.sysutils.*;
import java.util.arrays;
import java.util.*;

public class stringlist {
  private list strings = new arraylist();
  private list objects = new arraylist();
  private boolean sorted = false;

  public stringlist() {
  }

  public string[] getstrings() {
    return (string[])strings.toarray(new string[strings.size()]);
  }

  public void setstrings(string[] array){
    strings = null; objects=null;
    strings = new arraylist(arrays.aslist(array));
    objects = new arraylist(array.length);
  }

  private void rangecheck(int index) throws indexoutofboundsexception {
    if ((index < 0) || (index >= getcount()))
      throw new indexoutofboundsexception();
  }

  public int getcount() {
    return strings.size();
  }

  public string get(int index){
    return (string) strings.get(index);
  }

  public int find(string s) {
    int i, l, h, c;
    l = 0;
    h = getcount() - 1;
    while (l <= h) {
      i = (l + h) / 2;
      c = sysutil.comparestrings(get(i), s);
      if (c < 0)
        l = i + 1;
      else {
        h = i - 1;
        if (c == 0)
          l = i;
      }
    }
    return l;
  }

  public int addobject(string s, object aobject) {
    int result = -1;
    if (!sorted)
      result = getcount();
    else
      result = find(s);
    insertitem(result, s, aobject);
    return result;
  }

  public int add(string s) {
    return addobject(s, null);
  }

  public void addstrings(stringlist strings) {
    for (int i = 0; i < strings.getcount(); i++)
      add(strings.get(i));
  }

  public void addstrings(string[] strings) {
    for (int i = 0; i < strings.length; i++)
      add(strings[i]);
  }


  public void clear() {
    strings.clear();
    objects.clear();
  }

  public void delete(int index){
    strings.remove(index);
    objects.remove(index);
  }

  public void insertitem(int index, string s, object aobject) {
    strings.add(index, s);
    objects.add(index, aobject);
  }

  public void put(int index, string s) throws illegalstateexception{
    if (this.sorted)
      throw new illegalstateexception("list sorted!");
    else
      strings.set(index, s);
  }

  public void putobject(int index, object aobject) {
    objects.set(index, aobject);
  }

  public void exchange(int index1, int index2) {
    object temp = null;
    temp = strings.get(index1);
    strings.set(index1, strings.get(index2));
    strings.set(index2, temp);
    temp = objects.get(index1);
    objects.set(index1, objects.get(index2));
    objects.set(index2, temp);
  }

  public void quicksort(int l, int r) {
    if (l < r) {
      int i = l;
      int j = r;
      string s = get(l);
      while (i < j) {
        while (sysutil.comparestrings(get(i), s) <= 0)
          i++;
        while (sysutil.comparestrings(get(j), s) > 0)
          j--;
        if (i < j)
          exchange(i, j);
      }
      exchange(i, l);
      if (l < j)
        quicksort(l, j);
      if (i < r)
        quicksort(i, r);
    }
  }

  public void setsorted(boolean value) {
    if (value != sorted) {
      if (value)
        quicksort(0, getcount() - 1);
      sorted = value;
    }
  }

  public int indexof(string s) {
    return strings.indexof(s);
  }

  public string gettextstr() {
    stringbuffer result = new stringbuffer();
    for (int i = 0; i < strings.size(); i++) {
      result.append(get(i));
      result.append(systems.lineseparator);
    }
    return result.tostring();
  }

  public void settextstr(string value) {
    clear();
    stringtokenizer tokenizer = new stringtokenizer(value, systems.lineseparator);
    while (tokenizer.hasmoretokens())
      add(tokenizer.nexttoken());
  }


}


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
文章页数:[1] 
相关主题
  • JAVA写的四则混合运算-JSP教程,Java技巧及代码
  • JAVA写的NotePad-JSP教程,Java技巧及代码
  • JAVA写的简单UBB类-JSP教程,Java技巧及代码
  • java写文件-JSP教程,Java技巧及代码
  • Google

    热门文章
    ·IReport与JasperReport开发详解一-JSP教程,Java技巧及代码
    ·JSTL(JSP标准标签库)介绍-JSP教程,资料/其它
    ·格式化输入日期时间控件 JieFormattedDateBox-JSP教程,Java技巧及代码
    ·JSTL简化JSP编码-JSP教程,Jsp/Servlet
    ·JUnit和单元测试入门简介-JSP教程,Java技巧及代码
    ·从数据库中读取一个图片并保存为一个图片文件-JSP教程,数据库相关
    ·Java Swing入门基础-JSP教程,Java技巧及代码
    ·IntelliJ IDEA培训-JSP教程,Java技巧及代码
    ·通过JSP的预编译消除性能瓶颈-JSP教程,Jsp/Servlet
    ·Java中利用JMF编写摄像头拍照程序-JSP教程,Java技巧及代码

    最新文章
    ·J2ME中的时间处理方法
    ·J2ME播放声音流程简介
    ·J2ME开发之手机键盘使用注意问题
    ·J2ME 记录管理存储
    ·MVC模式在j2me项目中的应用(二)
    ·MVC模式在j2me项目中的应用(一)
    ·J2ME中使用记录存储系统(RMS)存储信息
    ·J2ME与MIDP开发(1)
    ·用简单的J2ME程序测试MIDlet的生命周期
    ·JAVA基础:提升JSP应用程序的七大绝招

    相关主题
  • JAVA写的四则混合运算-JSP教程,Java技巧及代码
  • JAVA写的NotePad-JSP教程,Java技巧及代码
  • JAVA写的简单UBB类-JSP教程,Java技巧及代码
  • java写文件-JSP教程,Java技巧及代码



  • 友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 一班在线
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机


    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
      打印  刷新  关闭


    联系我们  |  广告服务  |  免责声明  |  友情连接
    Copyright ?2005 - 2006 All Rights Reserved
    蜀ICP备05000045号