博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mapreduce实战:序列化与反序列化 int,int[],string[][]
阅读量:6913 次
发布时间:2019-06-27

本文共 1883 字,大约阅读时间需要 6 分钟。

最新一期《中国IT产业发展报告》在2016中国(深圳)IT领袖峰会上正式发布,数字中国联合会常务理事李颖称。中国IT产业完毕了从要素驱动向效率驱动的过渡,眼下正在由效率驱动向创新驱动发展。
//定义要序列化的类型  protected int[] splits;//int 数组   protected String[][] splitss;// 二维数组  protected int n1; //int      public void cFPoints1(Vector
sample, int n) { String[]strs = sample.toString().split (","); int numSplits = strs.length/3; //对数组进行长度设定 this.splits = new int[numSplits]; this.splitss = new String[numSplits][3]; //赋值 this.n1 = n; for (int i =0; i < sample.size();i++){ String string = sample.get(i).toString(); String[]strs1 = string.toString().split (","); this.splits[i] = Integer.parseInt(strs1[0]); this.splitss[i][0] = strs1[0]; this.splitss[i][1] = strs1[1]; this.splitss[i][2] = strs1[2]; } }  
//注意序列化和反序列化的顺序要一致
@Override  public void write(DataOutput out) throws IOException {     //序列化int类型    out.writeInt(n1);     //序列化int数组    out.writeInt(splits.length);    ByteBuffer bbuffer = ByteBuffer.allocate(splits.length * 4);    for (int split : splits)      bbuffer.putInt(split);    out.write(bbuffer.array(), bbuffer.arrayOffset(), bbuffer.position());     //序列化string数组    out.writeInt(splitss.length);           for (String[] is2 : splitss) {		for (String i : is2) {			Text.writeString(out, i);		}    }        }  @Override  public void readFields(DataInput in) throws IOException {     //反序列化int类型    n1 = in.readInt();      //反序列化int数组    splits = new int[in.readInt()];    byte[] buffer = new byte[splits.length * 4];    in.readFully(buffer);    ByteBuffer bbuffer = ByteBuffer.wrap(buffer);    for (int i = 0; i < splits.length; i++)      splits[i] = bbuffer.getInt();    //反序列化string数组    splitss = new String[in.readInt()][3];      for (int i = 0; i < splitss.length; i++)    	 for (int k = 0; k < splitss[0].length; k++) {      		 splitss[i][k] = Text.readString(in);     	 }  }  }

转载地址:http://bzicl.baihongyu.com/

你可能感兴趣的文章
如何在Android Studio中指定NDK位置?
查看>>
更改Android应用程序的图标
查看>>
连载:面向对象葵花宝典:思想、技巧与实践(35) - NOP原则
查看>>
Redis(五)-- Java API
查看>>
Android中使用OnClickListener接口实现button点击的低级失误
查看>>
python核心编程——python对象
查看>>
指数函数及其性质教学设计
查看>>
关于内存中栈和堆的区别(非数据结构中的堆和栈,区别)【转】
查看>>
嵌套查询
查看>>
python-Levenshtein几个计算字串相似度的函数解析
查看>>
shipyard, swarm看到你,我才睡觉:)
查看>>
hdu 4409 Family Name List(LCA&amp;有坑点)
查看>>
Linux内核之于红黑树and AVL树
查看>>
JAVA线程池ScheduledExecutorService周期性地执行任务 与单个Thread周期性执行任务的异常处理...
查看>>
Python 面向对象
查看>>
JAXB xml与javaBean的转换
查看>>
ResultSet 的Type属性 TYPE_FORWARD_ONLY, TYPE_SCROLL_I
查看>>
C#多线程--线程池(ThreadPool)
查看>>
Android FileProvider相关 Failed to find configured root that contains
查看>>
【Win 10 应用开发】UI Composition 札记(七):基于表达式的动画
查看>>