class MergeIterable implements Iterable<Integer> {
private final Iterable<Integer> iter0;
private final Iterable<Integer> iter1;
public MergeIterable(Iterable<Integer> iter0, Iterable<Integer> iter1) {
this.iter0 = iter0;
this.iter1 = iter1;
}
public Iterator<Integer> iterator() {
return new MergeIterator(iter0, iter1);
}
}
class MergeIterator implements Iterator<Integer> {
private final Iterable<Integer> iter0;
private final Iterable<Integer> iter1;
public MergeIterator(Iterable<Integer> iter0, Iterable<Integer> iter1) {
this.iter0 = iter0;
this.iter1 = iter1;
}
public boolean hasNext() {
}
public Integer next() {
}
}
List<String> data = new ArrayList<>();
data.add("String"); // data.set("String");
let json = [{
"color": "red",
"lastMsg": 2000
}, {
"color": "blue",
"lastMsg": 1000
}, {
"color": "green",
"lastMsg": 1200
}, {
"color": "yellow",
"lastMsg": 3000
}];
console.log(`Sorting by color (Before):`);
for (let i = 0; i < json.length; i += 1) {
console.log(`color: ${json[i].color}, lastMsg: ${json[i].lastMsg}`);
}
console.log(``);
json.sort((a, b) => {
if (a.color < b.color) {
return -1;
} else if (a.color > b.color) {
return 1;
} else {
return 0;
}
});
console.log(`Sorting by color (After):`);
for (let i = 0; i < json.length; i += 1) {
console.log(`color: ${json[i].color}, lastMsg: ${json[i].lastMsg}`);
}
Sorting by color (Before):
// color: red, lastMsg: 2000
// color: blue, lastMsg: 1000
// color: green, lastMsg: 1200
// color: yellow, lastMsg: 3000
// Sorting by color (After):
// color: blue, lastMsg: 1000
// color: green, lastMsg: 1200
// color: red, lastMsg: 2000
// color: yellow, lastMsg: 3000
OutputStream os = new BufferedOutputStream(dst);
и в итоге получилось что скорость увеличилась в 5 раз. Более чем достаточно. Странно, что я вроде бы так делал, но скорость не изменялась. Хотя может быть что то и не так делал.