java - 使用 localStorage 维护有序列表?

标签 java html gwt local-storage

假设我的存储空间是这样的:

1 - turkey
2 - chicken
3 - beef
4 - fish

如果我删除chicken,我想将其更新为:

1 - turkey
2 - beef
3 - fish

我还需要一种重新排序的方法,所以如果我说 fish 应该是第一个,我希望它更新为:

1 - fish
2 - turkey
3 - beef

执行此操作的最佳方法是什么?

最佳答案

使用 List 接口(interface)存储和检索 JSON 数组并操作您的列表:

String listToJson(List<String> list) {
  JsArrayString array = (JsArrayString) JsArrayString.createArray();

  for (int i = 0; i < list.size(); i++) {
    array.set(i, list.get(i));
  }

  return new JSONArray(array).toString();
}

List<String> jsonToList(String json) {
  JsArrayString jas = JsonUtils.safeEval(json);
  List<String> list = new ArrayList<String>();

  for (int i = 0; i < jas.length(); i++) {
    list.add(jas.get(i));
  }

  return list;
}

void myEntryPoint() {
  ArrayList myList = new ArrayList();
  myList.add("cake");
  myList.add("pie");
  myList.add("ice cream");

  Storage.getLocalStorageIfSupported().
      setItem("myKey", listToJson(myList));

  // ...

  ArrayList otherList =
      jsonToList(Storage.getLocalStorageIfSupported().
          getItem("myKey"));
}

关于java - 使用 localStorage 维护有序列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8245846/

相关文章:

javascript - 使用 Jquery 的 Bootstrap 4 动态轮播

java - Vaadin 图表 -ClassNotFoundException : com. vaadin.ui.AbstractComponent

java - GET 如何符合高性能 Web 应用程序的黄金法则?

java - JTextArea 背景的填充百分比

java - 再次 : Postgres driver not found on Heroku with Play 2. 0/Java

javascript - 如何使用 JavaScript 打开 anchor 上下文菜单?

java - GWT TabLayoutPanel -> 不显示选项卡内容

java - 使用 java8 功能计算列表中的元素数量

java - 在 Java 中检测文件扩展名

javascript - 将 HTML 中的用户输入值传递给 jQuery.Ajax