Mapreduce实战:序列化与反序列化 int,int[],string[][]
//定义要序列化的类型
protected int[] splits;//int 数组
protected String[][] splitss;// 二维数组
protected int n1; //int public void cFPoints1(Vector<Text2> 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];
} }
<span style="font-family: Arial, Helvetica, sans-serif;">//注意序列化和反序列化的顺序要一致</span>
@Override
public void write(DataOutput out) throws IOException {
//序列化int类型</span>
out.writeInt(n1);
//序列化int数组</span>
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数组</span>
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类型</span>
n1 = in.readInt();
//反序列化int数组</span>
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数组</span>
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);
}
}
}
Mapreduce实战:序列化与反序列化 int,int[],string[][]的更多相关文章
- JSON和XML格式与对象的序列化及反序列化的辅助类
下面的代码主要是把对象序列化为JSON格式或XML格式等 using System; using System.Collections.Generic; using System.Globalizat ...
- List<string>序列化与反序列化一个小坑
Newtonsoft序列化与反序列化有两个重载方法,带<T>和不带<T>的 如果将一个List<String>序列化为jsonStr后,再反序列化,会变成JArra ...
- XML序列化与反序列化接口对接实战,看这篇就够了
关键字:c# .NET XML 序列化 反序列化 本文为接口对接实践经验分享,不对具体的XML概念定义进行阐述:涉及工具类及处理方法已在生产环境使用多年,可放心使用.当然如果你发现问题,或有不同想法, ...
- Golang之json序列化(struct,int,map,slice)
老规矩,直接上代码 package main import ( "encoding/json" "fmt" ) //把结构体都改小写 type User str ...
- int and string
int转string一.#include <sstream> int n = 0; std::stringstream ss; std::string str; ss<<n; ...
- JAVA中int、String的类型转换
int -> String int i=12345;String s="";第一种方法:s=i+"";第二种方法:s=String.valueOf(i); ...
- C++ int与string的转化
int本身也要用一串字符表示,前后没有双引号,告诉编译器把它当作一个数解释.缺省情况下,是当成10进制(dec)来解释,如果想用8进制,16进制,怎么办?加上前缀,告诉编译器按照不同进制去解释.8进制 ...
- [C#]List<int>转string[],string[]转为string
// List<int>转string[] public string[] ListInt2StringArray(List<int> input) { return Arra ...
- C++ 中 int 转string, 以及10进制转2进制
感谢:http://blog.csdn.net/xiaofei2010/article/details/7434737 以及:http://www.cnblogs.com/nzbbody/p/3504 ...
随机推荐
- 刷题总结——树的同构(bzoj4337 树上hash)
Description 树是一种很常见的数据结构. 我们把N个点,N-1条边的连通无向图称为树. 若将某个点作为根,从根开始遍历,则其它的点都有一个前驱,这个树就成为有根树. 对于两个树T1和T2,如 ...
- ACE的饼图显示保留两位小数
修改源js文件:jquery.flot.pie.min.js <script src="/static/assets/js/jquery.flot.pie.min.js"&g ...
- Date对象在苹果手机下兼容问题的解决方法
Date在不同浏览器中对于传入的时间字符串的格式要求是不一样的.比如在chrome浏览器的控制台中输入以下内容,会得到相应结果: Date.parse('2015-11-11 00:00:00') / ...
- Gcd(bzoj 2818)
Description 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对. Input 一个整数N Output 如题 Sample Input 4 Sam ...
- class文件检查器
Class文件检查器保证装载的class文件内容有正确的内部结构,并且这些class文件互相间协调一致.Class文件检查器实现的安全目标之一就是程序的健壮性.如果某个有漏洞的编译器,或某个聪明的黑客 ...
- 共享内存之——system V共享内存
System V 的IPC对象有共享内存.消息队列.信号灯(量). 注意:在IPC的通信模式下,不管是共享内存.消息队列还是信号灯,每个IPC的对象都有唯一的名字,称为"键(key)&quo ...
- linux 中信号量
ctrl-c 发送 SIGINT 信号给前台进程组中的所有进程.常用于终止正在运行的程序.ctrl-z 发送 SIGTSTP 信号给前台进程组中的所有进程,常用于挂起一个进程.ctrl-d 不是发送信 ...
- 快速比對 修改的檔案 使用 Beyond Compare Filters & git & sed
修改 code 後, 想使用 beyond compare 比對 修改前後的 code (有一包未修改的 code), 若 code 很大, 全部比完,需要花很多時間, Command 此時可以使用 ...
- delphi中关于时间差的实例
http://www.cnblogs.com/rogee/archive/2010/09/20/1832035.html 很多时候要用到相差多少天,多少周,多少秒,查了一下资料,整理如下: 首先 us ...
- Spring Boot + Elastic stack 记录日志
原文链接:https://piotrminkowski.wordpress.com/2019/05/07/logging-with-spring-boot-and-elastic-stack/ 作者: ...