创建多个ArrayLists,return-function
Create multiple ArrayLists, return-function
我用 <ObjektsDEGR>
.
类型的对象创建了 3 个 ArrayList
ObjektsDEGR class:
public class ObjektsDEGR implements Serializable {
private String voc;
private String vocTR;
private int index;
private int box;
private transient String vocF1;
private transient String vocF2;
private transient String vocF3;
private transient String vocF4;
private transient String vocF5;
//+++++++++++ KONSTRUKTOR +++++++++++++
public ObjektsDEGR(int voc, int vocTR, int index, int box, int vocF1, int vocF2, int vocF3, int vocF4, int vocF5){
this.voc = Integer.toString(voc);
this.vocTR = Integer.toString(vocTR);
this.index = index;
this.vocF1 = Integer.toString(vocF1);
this.vocF2 = Integer.toString(vocF2);
this.vocF3 = Integer.toString(vocF3);
this.vocF4 = Integer.toString(vocF4);
this.vocF5 = Integer.toString(vocF5);
this.box = box;
}
//+++++ GETTER ++++++
public int getIndex(){
return index;
}
public String getVoc() {
return voc;
}
public String getVocTR(){
return vocTR;
}
public String getVocF1() {
return vocF1;
}
public String getVocF2() {
return vocF2;
}
public String getVocF3() {
return vocF3;
}
public String getVocF4() {
return vocF4;
}
public String getVocF5() {
return vocF5;
}
public int getBox(){
return box;
}
//++++ SETTER +++++
public void setIndex(int index){
this.index = index;
}
public void setVoc(int voc){
this.voc = Integer.toString(voc);
}
public void setVocTR(int vocTR){
this.vocTR = Integer.toString(vocTR);
}
public void setVocF1(int vocF1){
this.voc = Integer.toString(vocF1);
}
public void setVocF2(int vocF2){
this.voc = Integer.toString(vocF2);
}
public void setVocF3(int vocF3){
this.voc = Integer.toString(vocF3);
}
public void setVocF4(int vocF4){
this.voc = Integer.toString(vocF4);
}
public void setVocF5(int vocF5){
this.voc = Integer.toString(vocF5);
}
public void setBox (int box){ this.box = box;}
}
根据“box”属性的值,我将这些对象分为 3 个 ArrayList。
如何从方法外部获取 ArrayList“outputList”?
ObjektsDEGR[] basicDEGR = new ObjektsDEGR[allVoc];
public ArrayList<ObjektsDEGR> writeToArrayList(int category) {
ArrayList<ObjektsDEGR> box1Filtered = new ArrayList<>();
ArrayList<ObjektsDEGR> box2Filtered = new ArrayList<>();
ArrayList<ObjektsDEGR> box3Filtered = new ArrayList<>();
ArrayList<ObjektsDEGR> outputList = new ArrayList<>();
Integer comparer1 = 1;
Integer comparer2 = 2;
Integer comparer3 = 3;
//region Implementierung
for (int j = ((category-1)*nV); j < nV+((category-1)*nV); j++){
if (comparer1.equals(basicDEGR[j].getBox())) {
box1Filtered.add(basicDEGR[j]);
}
else if (comparer2.equals(basicDEGR[j].getBox())) {
box2Filtered.add(basicDEGR[j]);
}
else if (comparer3.equals(basicDEGR[j].getBox())) {
box3Filtered.add(basicDEGR[j]);
}
else {
box3Filtered.add(basicDEGR[j]);
}
}//endregion
if (box1Filtered.isEmpty())
{
if (box2Filtered.isEmpty()) {
outputList = box3Filtered;
}
else {
outputList = box2Filtered;
}
}
else
{
outputList = box1Filtered;
}
public ArrayList<ObjektsDEGR> getOutputList(){
return outputList;
}
}
不能将一个方法放在另一个方法中。
您可以 return 从 writeToArrayList
输出列表
或者
在writeToArrayList中使用
Return
代替
outputList =
您不再需要 outputList 变量
在每种情况下都必须 return,例如末尾有一个空列表
移除
return outputList;
}
如果你只想return只输出List
public ArrayList<ObjektsDEGR> writeToArrayList(int category) {
ArrayList<ObjektsDEGR> box1Filtered = new ArrayList<>();
ArrayList<ObjektsDEGR> box2Filtered = new ArrayList<>();
ArrayList<ObjektsDEGR> box3Filtered = new ArrayList<>();
ArrayList<ObjektsDEGR> outputList = new ArrayList<>();
/*
* your main logic
*
* */
return outputList;
}
如果要return所有列表
你可以 return ArrayList
列表
public List<ArrayList<ObjektsDEGR>> writeToArrayList(int category) {
ArrayList<ObjektsDEGR> box1Filtered = new ArrayList<>();
ArrayList<ObjektsDEGR> box2Filtered = new ArrayList<>();
ArrayList<ObjektsDEGR> box3Filtered = new ArrayList<>();
ArrayList<ObjektsDEGR> outputList = new ArrayList<>();
/*
* your main logic
*
* */
List<ArrayList<ObjektsDEGR>> resultList = new ArrayList<>();
resultList.add(box1Filtered);
resultList.add(box2Filtered);
resultList.add(box3Filtered);
resultList.add(outputList);
return resultList;
}
或者数组列表,如果你有固定数量的数据到return
public ArrayList<ObjektsDEGR>[] writeToArrayList(int category) {
ArrayList<ObjektsDEGR> box1Filtered = new ArrayList<>();
ArrayList<ObjektsDEGR> box2Filtered = new ArrayList<>();
ArrayList<ObjektsDEGR> box3Filtered = new ArrayList<>();
ArrayList<ObjektsDEGR> outputList = new ArrayList<>();
/*
* your main logic
*
* */
return (ArrayList<ObjektsDEGR>[]) new ArrayList[]{box1Filtered, box2Filtered, box3Filtered, outputList};
}
我用 <ObjektsDEGR>
.
ObjektsDEGR class:
public class ObjektsDEGR implements Serializable {
private String voc;
private String vocTR;
private int index;
private int box;
private transient String vocF1;
private transient String vocF2;
private transient String vocF3;
private transient String vocF4;
private transient String vocF5;
//+++++++++++ KONSTRUKTOR +++++++++++++
public ObjektsDEGR(int voc, int vocTR, int index, int box, int vocF1, int vocF2, int vocF3, int vocF4, int vocF5){
this.voc = Integer.toString(voc);
this.vocTR = Integer.toString(vocTR);
this.index = index;
this.vocF1 = Integer.toString(vocF1);
this.vocF2 = Integer.toString(vocF2);
this.vocF3 = Integer.toString(vocF3);
this.vocF4 = Integer.toString(vocF4);
this.vocF5 = Integer.toString(vocF5);
this.box = box;
}
//+++++ GETTER ++++++
public int getIndex(){
return index;
}
public String getVoc() {
return voc;
}
public String getVocTR(){
return vocTR;
}
public String getVocF1() {
return vocF1;
}
public String getVocF2() {
return vocF2;
}
public String getVocF3() {
return vocF3;
}
public String getVocF4() {
return vocF4;
}
public String getVocF5() {
return vocF5;
}
public int getBox(){
return box;
}
//++++ SETTER +++++
public void setIndex(int index){
this.index = index;
}
public void setVoc(int voc){
this.voc = Integer.toString(voc);
}
public void setVocTR(int vocTR){
this.vocTR = Integer.toString(vocTR);
}
public void setVocF1(int vocF1){
this.voc = Integer.toString(vocF1);
}
public void setVocF2(int vocF2){
this.voc = Integer.toString(vocF2);
}
public void setVocF3(int vocF3){
this.voc = Integer.toString(vocF3);
}
public void setVocF4(int vocF4){
this.voc = Integer.toString(vocF4);
}
public void setVocF5(int vocF5){
this.voc = Integer.toString(vocF5);
}
public void setBox (int box){ this.box = box;}
}
根据“box”属性的值,我将这些对象分为 3 个 ArrayList。
如何从方法外部获取 ArrayList“outputList”?
ObjektsDEGR[] basicDEGR = new ObjektsDEGR[allVoc];
public ArrayList<ObjektsDEGR> writeToArrayList(int category) {
ArrayList<ObjektsDEGR> box1Filtered = new ArrayList<>();
ArrayList<ObjektsDEGR> box2Filtered = new ArrayList<>();
ArrayList<ObjektsDEGR> box3Filtered = new ArrayList<>();
ArrayList<ObjektsDEGR> outputList = new ArrayList<>();
Integer comparer1 = 1;
Integer comparer2 = 2;
Integer comparer3 = 3;
//region Implementierung
for (int j = ((category-1)*nV); j < nV+((category-1)*nV); j++){
if (comparer1.equals(basicDEGR[j].getBox())) {
box1Filtered.add(basicDEGR[j]);
}
else if (comparer2.equals(basicDEGR[j].getBox())) {
box2Filtered.add(basicDEGR[j]);
}
else if (comparer3.equals(basicDEGR[j].getBox())) {
box3Filtered.add(basicDEGR[j]);
}
else {
box3Filtered.add(basicDEGR[j]);
}
}//endregion
if (box1Filtered.isEmpty())
{
if (box2Filtered.isEmpty()) {
outputList = box3Filtered;
}
else {
outputList = box2Filtered;
}
}
else
{
outputList = box1Filtered;
}
public ArrayList<ObjektsDEGR> getOutputList(){
return outputList;
}
}
不能将一个方法放在另一个方法中。
您可以 return 从 writeToArrayList
输出列表或者
在writeToArrayList中使用
Return
代替
outputList =
您不再需要 outputList 变量 在每种情况下都必须 return,例如末尾有一个空列表 移除
return outputList;
}
如果你只想return只输出List
public ArrayList<ObjektsDEGR> writeToArrayList(int category) {
ArrayList<ObjektsDEGR> box1Filtered = new ArrayList<>();
ArrayList<ObjektsDEGR> box2Filtered = new ArrayList<>();
ArrayList<ObjektsDEGR> box3Filtered = new ArrayList<>();
ArrayList<ObjektsDEGR> outputList = new ArrayList<>();
/*
* your main logic
*
* */
return outputList;
}
如果要return所有列表 你可以 return ArrayList
列表public List<ArrayList<ObjektsDEGR>> writeToArrayList(int category) {
ArrayList<ObjektsDEGR> box1Filtered = new ArrayList<>();
ArrayList<ObjektsDEGR> box2Filtered = new ArrayList<>();
ArrayList<ObjektsDEGR> box3Filtered = new ArrayList<>();
ArrayList<ObjektsDEGR> outputList = new ArrayList<>();
/*
* your main logic
*
* */
List<ArrayList<ObjektsDEGR>> resultList = new ArrayList<>();
resultList.add(box1Filtered);
resultList.add(box2Filtered);
resultList.add(box3Filtered);
resultList.add(outputList);
return resultList;
}
或者数组列表,如果你有固定数量的数据到return
public ArrayList<ObjektsDEGR>[] writeToArrayList(int category) {
ArrayList<ObjektsDEGR> box1Filtered = new ArrayList<>();
ArrayList<ObjektsDEGR> box2Filtered = new ArrayList<>();
ArrayList<ObjektsDEGR> box3Filtered = new ArrayList<>();
ArrayList<ObjektsDEGR> outputList = new ArrayList<>();
/*
* your main logic
*
* */
return (ArrayList<ObjektsDEGR>[]) new ArrayList[]{box1Filtered, box2Filtered, box3Filtered, outputList};
}