在Java(Android)语言中是否有类似Delphi的TStringList?

时间:2010-11-03 07:51:09

标签: java delphi

我开始在Android中开发并决定使用原生 java语言

当开始使用新语言时,我倾向于创建一个代码库来创建具有相同名称的例程,这些例程执行与我已有的库中相同的功能。

F.i。在我的Classic Asp库中,我有一个IntToStr()函数,它相当于Delphi的IntToStr(),虽然我知道VBScript不需要这样的函数 - 它使我在不同语言中的代码更具可读性从而更容易在语言之间切换。

来自 Delphi背景,我在Delphi中有很多使用 TStringList 类的库代码。

Java中有什么相同的东西吗?或者你会如何解决这个问题?

4 个答案:

答案 0 :(得分:4)

delphi StringList看起来就像一个键/值对列表。 Java具有键/值对集合(Map)的结构,但实现TreeMapHashMap不保持键的插入顺序。 custum Java数据类型的良好开端可能是:

public class TStringList {  // unconventional Java name, but you like to keep the delphi names
  private class Entry {
    String key;
    Object value;  // to keep it flexible
  }
  private List<Entry> entries = new ArrayList<Entry>();

  // add some constructors

  // implement methods of delphis StringList
}

(注意:存根没有实现JCA接口(如List),因为该类旨在模仿delphi类型而不是作为集合)

答案 1 :(得分:2)

这是一个简单的字符串列表吗?如果是,请改用泛型:

LinkedList<String> myStrings = new LinkedList<String>();
myStrings.add("hello");
String s = myStrings.get(0);

答案 2 :(得分:1)

这就是你需要的:

<强> org.apache.commons.collections.map.ListOrderedMap

答案 3 :(得分:0)

我怀疑有一个确切的替换TStringList,因为它非常灵活,并且不对应于java Containers上的一个确切的数据结构类 - 实际上大多数TStringList的功能必须使用其他一些类来完成。 两年前,我在Java中实现了一个TStringList对象。 java中有能力可以帮助你的类。我不知道我是否还有这个来源,只是一个实验。