我的(Android)Java程序中有一个字符串列表,我需要获取列表中对象的索引.问题是,我只能找到有关如何查找对象的第一个和最后一个索引的文档.如果我的列表中有3个或更多相同的对象怎么办?我怎样才能找到每个索引?

谢谢!

解决方法:

你需要进行暴力搜索:

static List indexesOf(List source, T target)

{

final List indexes = new ArrayList();

for (int i = 0; i < source.size(); i++) {

if (source.get(i).equals(target)) { indexes.add(i); }

}

return indexes;

}

请注意,这不一定是最有效的方法.根据上下文和列表的类型/大小,您可能需要进行一些严格的优化.关键是,如果您需要每个索引(并且对列表内容的结构一无所知),那么您需要在每个项目中进行死亡,以获得最佳O(n)成本.

根据底层列表的类型,get(i)可能是O(1)(ArrayList)或O(n)(LinkedList),因此这可能会导致O(n2)实现.您可以复制到ArrayList,也可以手动使用LinkedList递增索引计数器.

标签:android,java,list,indexing

来源: https://codeday.me/bug/20190723/1516812.html

java for 获取索引_获取Java列表中的对象索引相关推荐

  1. java function获取参数_「Java容器」ArrayList源码,大厂面试必问

    ArrayList简介 ArrayList核心源码 ArrayList源码分析 System.arraycopy()和Arrays.copyOf()方法 两者联系与区别 ArrayList核心扩容技术 ...

  2. python怎么输出列表中元素的索引_python怎么获取列表元素的索引

    本文主要介绍了python中如何获取列表的索引,以及如何返回列表中某个值的索引. 1.index方法list_a= [12,213,22,2,32] for a in list_a: print(li ...

  3. python最小值函数_Python3 min() 函数详解 获取多个参数或列表中的最小值

    Python3 min() 函数详解 获取多个参数或列表中的最小值 min()函数的主要作用是获取对象中最小的值,参数可以是任何可迭代对象(字符串.列表.元组.字典等),可以是一个参数内的值进行对比, ...

  4. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  5. mongo 唯一约束索引_快速掌握mongoDB(三)——mongoDB的索引详解

    1 mongoDB索引的管理 本节介绍mongoDB中的索引,熟悉mysql/sqlserver等关系型数据库的小伙伴应该都知道索引对优化数据查询的重要性.我们先简单了解一下索引:索引的本质就是一个排 ...

  6. python返回索引值_python 返回列表中某个值的索引方法

    python 返回列表中某个值的索引方法 如下所示: list = [5,6,7,9,1,4,3,2,10] list.index(9) out:3 同时可以返回列表中最大值的索引list.index ...

  7. C++经典问题:如果对象A中有对象成员B,对象B没有默认构造函数,那么对象A必须在初始化列表中初始化对象B?

    对象成员特点总结: (1)实例化对象A时,如果对象A有对象成员B,那么先执行对象B的构造函数,再执行A的构造函数. (2)如果对象A中有对象成员B,那么销毁对象A时,先执行对象A的析构函数,再执行B的 ...

  8. java获取长度_获取java长度

    Java获取本机MAC地址 为什么写这个呢?因为前几天看见网上有采用windows命令获取局域网和广域网MAC,查了查可以直接用JDK的方法. MAC可用于局域网验证,提高安全性. import ja ...

  9. java 线程 获取消息_获取java线程中信息

    怎样获取java线程中信息? 在进行多线程编程中,比较重要也是比较困难的一个操作就是如何获取线程中的信息.大多数人会采取比较常见的一种方法就是将线程中要返回的结果存储在一个字段中,然后再提供一个获取方 ...

最新文章

  1. python 学习 [day8]class成员
  2. windows进程间通信方式总结
  3. Elasticsearch query和filter过滤有什么不同
  4. hdu 1251 统计难题(trie树入门)
  5. k8s证书配置:为 kubelet 配置证书轮换
  6. VS 2017 安装测试
  7. 我帮公司财务写了个“群发工资条”的 Python 脚本!
  8. VS2010中打开VS2013/VS2012项目
  9. Http下的各种操作类.WebApi系列~通过HttpClient来调用Web Api接口
  10. linux 编码转换iconv命令
  11. oracle plsql 命令,Oracle PlSQL常用命令
  12. python程序打印出10行的杨辉三角_GitHub 标星 6.5w+,Python 小白 100 天学习计划,从新手到玩转!...
  13. can总线程序讲解_CANOpen系列教程02_理解CAN总线协议
  14. Keil Assistant 插件 fromelf 文件路径报错及hex、bin、axf、elf文件之间关系
  15. 笔记本电脑无法连接自己家的网络
  16. 登录蒸汽平台显示连接服务器异常,蒸汽平台连接服务器失败
  17. 斗鱼扩展--拦截广告,让网页加载更快(四)
  18. IDEA 的 plugins 搜不到任何的东西
  19. 基于Arduino的电子秤设计
  20. 学生网页作业HTML5期末大作业 静态购物网站设计——静态购物网站模板11页(前台+后台) HTML+CSS+JS

热门文章

  1. Django面试题和出现的一些问题
  2. jQuery实现在线选座订座(影院篇)
  3. java期末考试卷及答案_java期末考试试卷及答案1
  4. starcraft2 html 资源,最新HTML5版星际争霸完全版源码
  5. 期指量仓均降 多空谨慎迎接收官日
  6. HTML---- 渐变颜色, P强制不换行、自动换行、强制换行
  7. camera申请buf流程
  8. RAID及软RAID的实现,包括各级别RAID的原理及各级别RAID的实现
  9. android开发查漏补缺图
  10. 【LeetCode04】最接近的三数之和