wrapping bidimensional lists as a pointer for multi-dimensional arrays

Tiago Morgado's icon

hi everyone.. I am writing a small script for an mxj object to create universal ccs or something like that (if anyone has even created it, but I guess not)

so, here is the code I am working on.. I am pretty kinda noob with java in max, meaning that I only did a couple of simple programs.

so my first question is:

after receiving the list, how do I wrapp it into a multi-dimensional array as a pointer for the index?
it's a noob question, but I really need your help

if someone wants to work on this collaboratively and share authory please, say something

greets
tiago morgado

//----------------------------

/* cc input receives a list with two integers (cc number cc channel)

there is a bidimensional matrix of 127*16
this matrix stores all the values of the ccs

when a index is received it iterates between ((0-1)*127) stores the number in the index
and outputs a list to send for a midi format or ctlout with cc value cc number and cc channel

*/

import com.cycling74.max.*;

public class midionoff extends MaxObject {

    private int[][] ccmidionoffout = new int[127][16]; // cc number, cc channel
    private List storage = new ArrayList()
    private int inletNUM = 1;
    private int outletNUM = 1;
    //----------------------
    public midionoff() {
        declareInlets(new int[]{DataTypes.INT,DataTypes.INT});
        declareOutlets(new int[]{DataTypes.INT,DataTypes.INT});
        int inletCOUNT[]=new int[inletNUM];
        for(int i=0;i
        declareInlets(inletCOUNT);                            //declara de novo "k" outlets
        int outletCOUNT[]=new int[outletsNUM];
        for(int i=0;i
        declareOutlets(outletCOUNT);
    }
    public onoff() {
        inputstatus();
        setmessage();
        outmessage();
    }
    public inputstatus(){
        if(getInlet() == 0){;}

    }
    public setmessage() {}
    public outmessage(){}
}

Peter McCulloch's icon

Check out the Collections tutorial in the Java docs; it will make your life so much easier.

You could implement this using the Map interface. Something along the lines of:
Map> map = new TreeMap>();

(TreeMap will maintain a sorted hash by key)

First level of map is for the channel, second is for the CC and value. Stay away from matrices in Java if at all possible; the Collections are much, much easier to work with and decently optimized.