📄 dynamicarray.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 + -