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

📄 stringlist.java

📁 创建中间企业对象层
💻 JAVA
字号:
/*
 * $Header:     'name=vale' format data list IO
 * $Author:     Duke
 * $Date:       2004-12-3 16:29
 * $Version:    1.2
 */

package com.kyle.eobject;
import java.io.*;
import java.util.*;

/**   
* record list IO
*/    
public class StringList
{
	public StringList() {}

	/**
	* find by a name
	*/
    public int find(String name)
    {
        for(int i=0;i<ary.size();i++)
        {
        	if (((StringListItem)ary.get(i)).getName().equalsIgnoreCase(name))
        	{
        		return i;
        	}		
        }
        return -1;	
    }

	/**
	* add a new data to list
	*/
	public int add(String name, String value)
	{
		if (name==null) return -1;
		if (this.find(name)==-1)
		{
			if (ary.add(new StringListItem(name,value)))
				return ary.size();
		}
		return -1;
	}
	
	/**
	* add a new data to list by "name=vlaue" format
	*/
	public int add(String line)
	{
		if (line==null) return -1;
		int l=line.indexOf(split);
		if (l<0) return -1;

		String n=line.substring(0,l).trim();
		String v=line.substring(l+1).trim();
		if (this.find(n)==-1)
		{
			if (ary.add(new StringListItem(n,v)))
				return ary.size();
		}
		return -1;
	}

	/**
	* del by Index from list
	*/
    public void del(int index)
    {
    	if (index<ary.size()) ary.remove(index);
    }

	/**
	* del by name from list
	*/
    public int del(String name)
    {
    	int i=find(name);
    	if (i>-1) del(i);	
    	return i;	 
    }

	/**
	* modify a record
	*/
	public int modify(String name, String value)
	{
		if (name==null) return -1;
		int index = add(name,value);
		if (index==-1)
		{
			index=find(name);
			((StringListItem)ary.get(index)).setValue(value);
		}
		return index;
	}

	/**
	* get the value by name
	*/
	public String value(String name)
	{
    	int i=find(name);
    	if (i==-1) return "";
    	return ((StringListItem)ary.get(i)).getVlaue();
	}

	/**
	* get the count of list
	*/
    public int getSize()
    {
    	return ary.size();
    }

	/**
	* get the name by index
	*/
    public String name(int index)
    {
    	if (index>ary.size()-1) return "";
    	return ((StringListItem)ary.get(index)).getName(); 
    }

	/**
	* get the value by index
	*/
    public String value(int index)
    {
    	if (index>ary.size()-1) return "";
    	return ((StringListItem)ary.get(index)).getVlaue();
	}
	
	/**   
	* load from a text file
	*/  
	public void load(String file) throws FileNotFoundException, IOException
	{
		FileReader     fileReader  =null;
		BufferedReader bufferReader=null;
		String line =null;
		fileReader=new FileReader(file); 
		bufferReader=new BufferedReader(fileReader);
		while((line=bufferReader.readLine())!=null)
		{
			line=line.trim();
			if(line.length()==0) continue;
			if(line.startsWith(rem)) continue;
			add(line);
		} 
		bufferReader.close();

	}

	private String rem = "#";
	private String split = "=";
	private ArrayList ary = new ArrayList();
	

	/**-------------------------------------------------**/
	
	/**   
	* a 'name=vale' record
	*/    
	class StringListItem
	{
		public StringListItem(String name, String value)
		{
			this.setName(name);
			this.setValue(value);
		}
		
		public void setName(String name)
		{
			this.name=name;
		}
		
		public void setValue(String value)
		{
			this.value=value;
		}
		
		public String getName()
		{
			return name;
		}
		
		public String getVlaue()
		{
			return value;
		}
		
		private String name;
		private String value;
	}

	public static void main(String args[]) throws Exception
	{
		System.out.println("Test for Stringlist:");
		long d1,d2;
		d1 =new Date().getTime();
		/************************************************/
		StringList list=new StringList();
		list.load("D:\\work\\test\\file\\User.tdf");
		int num=200;
		String n=null;
		String v=null;
		for(int i=0;i<num;i++)
		{
			n="n_"+ i;
			v="v_"+ i;
			list.add(n,v);
		}
		for(int i=0;i<num;i++)
		{
			n="n_"+ i;
			v="v_"+ i;
			v=list.value(n)	;
		}
		/************************************************/
		d2 =new Date().getTime();
		System.out.println("Milliseconds<1> is: " + (d2-d1));
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -