我从a
类返回一个列表。我想从列表中删除第一个元素,并将其作为最后一个元素添加到同一个列表中。我是这样做的。
myList.add(myList.get(0));
myList.remove(0);
目标硬件是Android操作系统。我应该以返回数组列表
或链接列表的方式对
类进行编码吗?在以下情况下,哪种情况更好:
>
myList始终包含100个元素
myList始终包含10个元素
也许我看到了一个没有问题的问题。你认为在这种情况下我不应该关心性能,因为问题大小(对于1和2)都很小吗?
我知道过早优化是万恶之源这句话,这就是为什么我在改变我的植入之前犹豫不决(至于现在,我的
A
对象返回一个ArrayList)。
简而言之,如果你经常添加/删除/更新元素,尤其是对于第一个/最后一个元素,你应该选择LinkedList
,因为它包含一个指向第一个和最后一个节点的指针
例如,从链表中删除元素的成本O(1)
,而对数组(数组列表)这样做的成本O(n)
。
但是,正如bigoh post所说,这并不总是一条规则:
对于大量数据,大哦符号可以给出非常好的性能想法,但是唯一确定的真正方法是在大数据集上进行实际尝试。大哦符号可能没有考虑到性能问题,例如,随着虚拟内存使用的增加,对分页的影响。虽然基准测试更好,但在设计过程中不可行,所以大哦复杂性分析是选择。
这篇文章验证了以上内容,其中LinkedList
也被证明很慢。
参考
http://docs.oracle.com/javase/8/docs/api/java/util/LinkedList.htmlhttp://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html
我想在CardView上显示一个特定的月份,而不使用下一个和上一个箭头来导航日历。如果我想显示2010年2月,用户只能看到2010年2月。他们下个月或上个月不能去。 我遵循这个堆栈溢出答案来显示一个特定的月份,但它对我不起作用。它始终显示我的病例的当前日期和月份。我不确定是否可以禁用上一次导航。 我的XML: 我的片段类: 如果没有下一个导航,我如何只显示2月份?
主要内容:Maven依赖关系,重定向处理示例HttpClient自动处理所有类型的重定向,除了HTTP规范明确禁止的那些重定向需要用户干预。 请参阅其他(状态码)在POST上重定向,并且按照HTTP规范的要求将PUT请求转换为GET请求。 可以使用自定义重定向策略来放宽由HTTP规范施加的对POST方法的自动重定向的限制。 在下面的教程中,我们将使用来处理http重定向。 Maven依赖关系 我们使用maven来管理依赖关系,并使用Apac
我的应用程序收到大量传入的 HTTP 请求。在每个请求的标头中,都有一个键值对。 说出标题1=应用程序1 值App1不断变化。 所以接下来它可以是App2、App3等等。 .但是,这些值可以按任何顺序继续出现。我需要处理竞争条件,其中如果出现 App1 的多个请求,我获得 reentrantreadwritellock 在App1上。同时,如果我收到对App2的请求,我将获取App2的重入读写锁。
我现在尝试的是,如果我有一个图表,然后,当我点击一个按钮与“onchange”功能,它将显示几个图表。但当我点击后退,我有我想要的图表,但仍然有“图例”的第二个图表在第一个图表的顶部。 有没有办法去除它?我找到了,但它删除了所有图表的图例。 这是我的代码 null null 亲切地
问题内容: 在创建我自己的SimpleAdapter对象之前,因为我想更改行的颜色,所以我只是使用new SimpleAdapter(…)。现在,我正在使用自己的自定义SimpleAdapter,行颜色正在更改,但是我的文本没有得到更新。我已经调用了adapter.notifyDataSetChanged(),但它仍只显示示例文本“ TextView”。正如我所说,当我没有创建自己的适配器时,一切
我试图在应用程序的右上角显示小调试横幅,就像Flutter一样,但在Android中。 实现这一点的最佳方式是什么?我只想在这个活动上。