Java me 如何在J2me中搜索和排序(升序或降序)

Java me 如何在J2me中搜索和排序(升序或降序),java-me,midp,rms,Java Me,Midp,Rms,我想知道如何在J2ME中搜索。我一直在互联网上搜索,有很多结果显示给我,我在Java2s.com上看到一个结果,我使用RecordFilter并匹配了在记录存储中搜索的方法 但我的问题是,当我需要向它传递2个或更多参数时。结果如何与这些参数匹配 以及如何像冒泡排序一样降序或升序排序?将搜索连接到单个字符串变量中。用将它们分开例如。在matches方法的代码中,分解字符串以获得每个搜索条件。 要使筛选器生效,请创建SearchFilter的实例,并调用matches方法,将concatenated

我想知道如何在J2ME中搜索。我一直在互联网上搜索,有很多结果显示给我,我在Java2s.com上看到一个结果,我使用
RecordFilter
并匹配了在记录存储中搜索的方法

但我的问题是,当我需要向它传递2个或更多参数时。结果如何与这些参数匹配


以及如何像冒泡排序一样降序或升序排序?

将搜索连接到单个字符串变量中。用
将它们分开例如。在
matches
方法的代码中,分解字符串以获得每个搜索条件。 要使筛选器生效,请创建SearchFilter的实例,并调用
matches
方法,将concatenated字符串作为其参数。 对于
排序
实现
记录比较器
接口;执行
compare
方法来建立排序标准。在谷歌上搜索j2me+recordcomparator,查看如何进行排序的示例


编辑:

matches
方法的代码中,分解从字节[]param获得的字符串param。处理每个分解的字符串以生成条件。 据我所知,在编写以下内容时,您希望传递两个字符串作为搜索条件:

SearchFilter search = new SearchFilter(txtSearch.getString(), strType);
所以在构造函数中应该有两个参数

当您要进行匹配时,请致电

如果searchFilter.matches((search1+“;”+sType).getBytes())匹配(


然后在对
匹配方法进行编码时,将
候选者
参数分解为两个字符串。

当我在RMS中保存数据时,我将其保存为字符串[],就像我要保存每个员工的姓名、年龄、工资、EmpID一样。我保存它时,创建一个数组并将其转换为字节,然后保存到RMS中。当我检索它时,我执行相反的过程。现在,如果我想让员工的名字以A开头,薪水为10000,我会使用下面的过滤器

class UtilFilter implements RecordFilter{    
    public UtilFilter(String str_searchText,String str_searchText1)
    {
            this.str_searchText = str_searchText.toLowerCase();
            this.str_searchText1 = str_searchText1.toLowerCase();
    }
    public boolean matches(byte[] bt_byteData)
    {
      String str_str = "";
      String str_str1 = "";
      //here goes code how u get back ur String[] from RMS say u get it in Data
      str_str = Data[0].trim();
      str_str1 = gd_cd.Data[2].trim();

      if(str_searchText != null && str_searchText1 != null && str_str.equals(str_searchText) && str_str1.equals(str_searchText1 ))
        {
              return true;
        }
        else
        {
              return false;
        }
    }
}

这样我就可以过滤任何参数。希望有帮助!:)

谢谢你,pheromix,但是我混淆了匹配,我不明白你在matches方法中的意思,你能给我代码示例吗?但是stringsearch仍然与“;”有关?我已经在搜索文件中发布了我所有的functino search,如果(search.matches(string.getBytes())我应该怎么处理
你能给我解释一下SearchFilter类中的匹配是如何工作的吗?因为正如你上面提到的,2个字符串必须组合在一个字符串中,并且用“;”分隔首先再次感谢!!但我认为我的匹配代码不是真的,你可以看到我的编辑代码有问题。因为我遵循你的答案,所以我只得到了结果集中的第一个结果。它与我的条件不匹配,我的条件是当用户在“结果集中显示所有结果”的文本框中输入值时,以及当使用“带文本框和选项的搜索”时向上它必须过滤结果集跟随choicegroup的值!!非常感谢