clean up toString() and implement toJSON() consistently

This commit is contained in:
Ben Fry
2016-10-30 16:12:40 -04:00
parent a44c05c41f
commit 67e9d13148
7 changed files with 74 additions and 76 deletions
+19 -16
View File
@@ -149,8 +149,8 @@ public class FloatDict {
}
};
}
// Use this to iterate when you want to be able to remove elements along the way
public Iterator<String> keyIterator() {
return new Iterator<String>() {
@@ -211,8 +211,8 @@ public class FloatDict {
}
};
}
public Iterator<Float> valueIterator() {
return new Iterator<Float>() {
int index = -1;
@@ -370,7 +370,7 @@ public class FloatDict {
public int minIndex() {
//checkMinMax("minIndex");
if (count == 0) return -1;
// Will still return NaN if there are 1 or more entries, and they're all NaN
float m = Float.NaN;
int mi = -1;
@@ -592,7 +592,7 @@ public class FloatDict {
}
protected void sortImpl(final boolean useKeys, final boolean reverse,
protected void sortImpl(final boolean useKeys, final boolean reverse,
final boolean stable) {
Sort s = new Sort() {
@Override
@@ -704,17 +704,20 @@ public class FloatDict {
}
/**
* Return this dictionary as a String in JSON format.
*/
public String toJSON() {
StringList items = new StringList();
for (int i = 0; i < count; i++) {
items.append(JSONObject.quote(keys[i])+ ": " + values[i]);
}
return "{ " + items.join(", ") + " }";
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName() + " size=" + size() + " { ");
for (int i = 0; i < size(); i++) {
if (i != 0) {
sb.append(", ");
}
sb.append("\"" + keys[i] + "\": " + values[i]);
}
sb.append(" }");
return sb.toString();
return getClass().getSimpleName() + " size=" + size() + " " + toJSON();
}
}
+10 -11
View File
@@ -879,23 +879,22 @@ public class FloatList implements Iterable<Float> {
public void print() {
for (int i = 0; i < size(); i++) {
for (int i = 0; i < count; i++) {
System.out.format("[%d] %f%n", i, data[i]);
}
}
/**
* Return this dictionary as a String in JSON format.
*/
public String toJSON() {
return "[ " + join(", ") + " ]";
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName() + " size=" + size() + " [ ");
for (int i = 0; i < size(); i++) {
if (i != 0) {
sb.append(", ");
}
sb.append(i + ": " + data[i]);
}
sb.append(" ]");
return sb.toString();
return getClass().getSimpleName() + " size=" + size() + " " + toJSON();
}
}
+1 -13
View File
@@ -665,7 +665,7 @@ public class IntDict {
*/
public String toJSON() {
StringList items = new StringList();
for (int i = 0; i < size(); i++) {
for (int i = 0; i < count; i++) {
items.append(JSONObject.quote(keys[i])+ ": " + values[i]);
}
return "{ " + items.join(", ") + " }";
@@ -675,17 +675,5 @@ public class IntDict {
@Override
public String toString() {
return getClass().getSimpleName() + " size=" + size() + " " + toJSON();
/*
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName() + " size=" + size() + " { ");
for (int i = 0; i < size(); i++) {
if (i != 0) {
sb.append(", ");
}
sb.append("\"" + keys[i] + "\": " + values[i]);
}
sb.append(" }");
return sb.toString();
*/
}
}
+10 -11
View File
@@ -867,23 +867,22 @@ public class IntList implements Iterable<Integer> {
public void print() {
for (int i = 0; i < size(); i++) {
for (int i = 0; i < count; i++) {
System.out.format("[%d] %d%n", i, data[i]);
}
}
/**
* Return this dictionary as a String in JSON format.
*/
public String toJSON() {
return "[ " + join(", ") + " ]";
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName() + " size=" + size() + " [ ");
for (int i = 0; i < size(); i++) {
if (i != 0) {
sb.append(", ");
}
sb.append(i + ": " + data[i]);
}
sb.append(" ]");
return sb.toString();
return getClass().getSimpleName() + " size=" + size() + " " + toJSON();
}
}
+13 -10
View File
@@ -475,17 +475,20 @@ public class StringDict {
}
/**
* Return this dictionary as a String in JSON format.
*/
public String toJSON() {
StringList items = new StringList();
for (int i = 0; i < count; i++) {
items.append(JSONObject.quote(keys[i])+ ": " + JSONObject.quote(values[i]));
}
return "{ " + items.join(", ") + " }";
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName() + " size=" + size() + " { ");
for (int i = 0; i < size(); i++) {
if (i != 0) {
sb.append(", ");
}
sb.append("\"" + keys[i] + "\": \"" + values[i] + "\"");
}
sb.append(" }");
return sb.toString();
return getClass().getSimpleName() + " size=" + size() + " " + toJSON();
}
}
+14 -11
View File
@@ -750,23 +750,26 @@ public class StringList implements Iterable<String> {
public void print() {
for (int i = 0; i < size(); i++) {
for (int i = 0; i < count; i++) {
System.out.format("[%d] %s%n", i, data[i]);
}
}
/**
* Return this dictionary as a String in JSON format.
*/
public String toJSON() {
StringList temp = new StringList();
for (String item : this) {
temp.append(JSONObject.quote(item));
}
return "[ " + temp.join(", ") + " ]";
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName() + " size=" + size() + " [ ");
for (int i = 0; i < size(); i++) {
if (i != 0) {
sb.append(", ");
}
sb.append(i + ": \"" + data[i] + "\"");
}
sb.append(" ]");
return sb.toString();
return getClass().getSimpleName() + " size=" + size() + " " + toJSON();
}
}