相关疑难解决方法(0)

如何在Java对象列表中进行搜索

我有一个对象列表,列表非常大.对象是

class Sample {
    String value1;
    String value2;
    String value3;
    String value4;
    String value5;
 }
Run Code Online (Sandbox Code Playgroud)

现在我必须在列表中搜索对象的特定值.假如value3=='three' 我必须返回那些对象(我的搜索并不总是基于value3)

名单是

List<Sample> list = new ArrayList<Sample>();
Run Code Online (Sandbox Code Playgroud)

这样做的有效方法是什么?

谢谢.

java collections search list

26
推荐指数
3
解决办法
14万
查看次数

Android:接口中使用静态方法的NoSuchMethodError(使用Retrolambda)

在我的项目中,我尝试使用Retrolambda插件和Lightweight-Stream-API在Android应用程序中使用Java 8编写的代码来绕过代码兼容性.源项目在Java平台上运行良好(澄清).

在将代码移植到Android之后,我只需对代码进行一些修改(主要是关于获取com.annimon.stream.Stream类的实例,因为Android中的数组和集合缺少方法,.stream()所以我需要使用Stream类的静态方法,将array/collection作为参数),但这甚至不应该成为我问题的关注点.目前没有编译错误,应用程序启动,工作,但在调用时崩溃:

Optional<Room> result = INamed.getO(name, Stream.of(rooms));
Run Code Online (Sandbox Code Playgroud)

出错:

FATAL EXCEPTION: main

Process: cz.alois_seckar.vseadventrura, PID: 8109

java.lang.NoSuchMethodError: No static method getO(Ljava/lang/String;Lcom/annimon/stream/Stream;)Lcom/annimon/stream/Optional; in class Lcz/alois_seckar/vseadventrura/eu/pedu/adv16s_fw/game_txt/INamed; or its super classes (declaration of 'cz.alois_seckar.vseadventrura.eu.pedu.adv16s_fw.game_txt.INamed' appears in /data/data/cz.alois_seckar.vseadventrura/files/instant-run/dex/slice-slice_1-classes.dex)
    at cz.alois_seckar.vseadventrura.eu.pedu.adv16s_fw.test_util.default_game_txt.game.Apartment.getORoom(Apartment.java:166)
    at cz.alois_seckar.vseadventrura.eu.pedu.adv16s_fw.test_util.default_game_txt.game.Room$$Lambda$1.apply(Unknown Source)
    at com.annimon.stream.Stream$12.nextIteration(Stream.java:539)
    ...
Run Code Online (Sandbox Code Playgroud)

和类Room实现INamed通过它的祖先(Room延伸AItemContainer扩展ANamed实现INamed).

所以我真的不明白,问题是什么.我怀疑Retrolambda插件 Java 8没有完全相同,但无法告诉要改变什么以及如何......问题可能完全在其他地方,我只是从Android开始......

如果需要,我可以提供更多代码,但我认为一切都很重要.在此先感谢您的帮助.

java android retrolambda

2
推荐指数
1
解决办法
1239
查看次数

标签 统计

java ×2

android ×1

collections ×1

list ×1

retrolambda ×1

search ×1