首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

JAVA中有没有比这更好的处理int数组的方法,该怎么解决

2012-05-24 
JAVA中有没有比这更好的处理int数组的方法各位请问一下,根据项目需求现有一组int[]数据,如:int[] datanew

JAVA中有没有比这更好的处理int数组的方法
各位请问一下,根据项目需求现有一组int[]数据,如:int[] data=new int[100]; 
data= new int[]{12873,12,43,54,6,990,1232,4000,54375,……};
现有的方法是通过index++把数据赋给相应的变量(注:因为int数组数据必须赋给对应的变量)
int index = 0;
  数组数据 变量  
data [index++] ——TimeRefMs;  
data [index++] —— OffsetIncl;
data [index++] —— MobOffset;
data [index++] —— RefPN;  
data [index++] —— RefPilotStrength;
data [index++] —— BAND_CLASS;
data [index++] ——CDMA_FREQ;
data [index++] —— BASE_ID;
data [index++] —— SID;
data [index++] —— NID;
data [index++] —— TOTAL_RX_PWR;
data [index++] —— NumPilots;
for (int I = 0; I < NumPilots; I++)
{
data [index++] —— PilotPN;
data [index++] —— PnPhase;
data[index++]——Strength;
data[index++]——RmsErrPhase;
}
大家都知道用自增++取数据,在项目里不好扩展、执行效率也很低,有没有比这更好 的方法,请各位大侠指点一下。谢谢!

[解决办法]
List<Integer> list = new xxxxList<Integer>();
.......

list.toArray();
[解决办法]

Java code
那就使用map吧Map<String, Integer> map = new LinkedHashMap<String, Integer>();把数组数据保存到map中map.put("TimeRefMs", data[index++]);map.put("OffsetIncl", data[index++]);map.put("MobOffset", data[index++]);...取数据的时候int TimeRefMs = map.get("TimeRefMs");...或者把数组数据用一个类封装保存class Data {    int TimeRefMs;    int OffsetIncl;    int MobOffset;    ...    public Data(int[] data) {        index = 0;        TimeRefMs = data[index++];        ...    }}
[解决办法]
List<Integer> dataList = new ArrayList<Integer>();
dataList.add(TimeRefMs);
dataList.add(OffsetIncl);
...
dataList.add(NumPilots);
for(int i = 0; i < NumPilots; i++) {
dataList.add(PilotPN);
dataList.add(PnPhase);
dataList.add(Strength);
dataList.add(RmsErrPhase);
}
//Object[] data = dataList.toArray();//这样得到的是Object[]
Integer[] data = new Integer[dataList.size()];
data = dataList.toArray(data);
[解决办法]
用哈希表

热点排行
Bad Request.