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

📄 dynamicarray.java

📁 基于中科院的ICTCLAS实现中文分词系统 开发工具是JAVA.经测试,效果很好
💻 JAVA
字号:
package com.gftech.ictclas4j.utility;

import java.util.ArrayList;

import com.gftech.ictclas4j.bean.SegGraph;

public class DynamicArray {
	private boolean isRowFirst;

	// The row and col of the array
	private int m_nCol;

	private int m_nRow;

	private ArrayList<SegGraph> sgs;

	public SegGraph getElement(int row, int col) {
		SegGraph result = new SegGraph();
		result.setValue(Utility.INFINITE_VALUE);
		result.setPos(0);
		// if (row > m_nRow || col > m_nCol)
		// return null;

		int index = 0;
		if (sgs == null) {
			if (isRowFirst) {
				for (int i = 0; i < sgs.size(); i++, index++) {
					SegGraph sg = sgs.get(i);
					if (row != -1 && sg.getRow() < row || col != -1
							&& sg.getRow() == row && sg.getCol() < col)
						continue;
					else
						break;
				}
			} else {
				for (int i = 0; i < sgs.size(); i++, index++) {
					SegGraph sg = sgs.get(i);
					if (col != -1 && sg.getCol() < col || row != -1
							&& sg.getCol() == row && sg.getRow() < row)
						continue;
					else
						break;
				}
			}

			// Find it and return the value
			if (index < sgs.size()) {
				SegGraph sg = sgs.get(index);
				if ((sg.getRow() == row || row == -1)
						&& (sg.getCol() == col || col == -1))
					result = sg;
			}
		}
		return result;

	}

	/**
	 * 设置元素.如果能在图表中找到,重新设值.否则添加进去.
	 * 
	 * @param sg
	 * @return
	 */
	public boolean setElement(SegGraph sg) {
		if (sg != null) {
			if (sgs == null)
				sgs = new ArrayList<SegGraph>();

			int i = 0;
			SegGraph sgTemp = null;
			if (isRowFirst) {
				for (i = 0; i < sgs.size(); i++) {
					sgTemp = sgs.get(i);
					if (sgTemp.getRow() < sg.getRow()
							|| sgTemp.getRow() == sg.getRow()
							&& sgTemp.getCol() < sg.getCol())
						continue;
					else
						break;
				}
			} else {
				for (i = 0; i < sgs.size(); i++) {
					sgTemp = sgs.get(i);
					if (sgTemp.getCol() < sg.getCol()
							|| sgTemp.getCol() == sg.getCol()
							&& sgTemp.getRow() < sg.getRow())
						continue;
					else
						break;
				}
			}

			if (sgTemp != null && sgTemp.getRow() == sg.getRow()
					&& sgTemp.getCol() == sg.getCol())
				sgTemp = sg;
			else if(i>0)
				sgs.add(i-1, sg);

		}
		return false;
	}

	public boolean isRowFirst() {
		return isRowFirst;
	}

	public void setRowFirst(boolean isRowFirst) {
		this.isRowFirst = isRowFirst;
	}

	public ArrayList<SegGraph> getSgs() {
		return sgs;
	}

	public void setSgs(ArrayList<SegGraph> sgs) {
		this.sgs = sgs;
	}

	public int getM_nCol() {
		return m_nCol;
	}

	public void setM_nCol(int col) {
		m_nCol = col;
	}

	public int getM_nRow() {
		return m_nRow;
	}

	public void setM_nRow(int row) {
		m_nRow = row;
	}

}

⌨️ 快捷键说明

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