import
java.io.*;
class
GFG {
static
String serialize(String str[],
int
ln)
{
String temp =
""
;
for
(
int
i =
0
; i < ln; i++) {
int
len = str[i].length();
temp = temp + len;
temp = temp +
"~"
+ str[i];
}
return
temp;
}
static
void
deserialized(String str, String deserialize[],
int
ln)
{
int
len =
0
, pos =
0
;
String temp =
""
;
int
i =
0
;
while
(pos > -
1
) {
pos = str.indexOf(
"~"
, pos+
1
);
if
(pos >
0
) {
len = str.charAt(pos-
1
) -
'0'
;
temp = temp + str.substring(pos +
1
, pos+len+
1
);
deserialize[i++] = temp;
temp =
""
;
}
}
}
public
static
void
main (String[] args) {
String str[] = {
"geeks"
,
"are"
,
"awesome"
};
int
ln = str.length;
String serializedstr = serialize(str, ln);
System.out.println(
"Serialized String : "
+ serializedstr);
String deserialize[] =
new
String[ln];
deserialized(serializedstr, deserialize, ln);
System.out.print(
"Deserialized String : "
);
for
(
int
i =
0
; i < ln; i++)
System.out.print(deserialize[i] +
" "
);
}
}