java遍历list与set哪个快
这个应用场景不一样,如果元素不重复,set不考虑顺序问题(其实是有顺序的,是HashCode决定的,所以set里的元素位置其实是固定的)而list中的元素是有序的。应用场景不一样,至于性能感觉无从比较。
)一个List可以生成ListIterator,使用它可以从两个方向遍历List,也可以从List中间插入和移除元素。ArrayList : 由数组实现的List。允许对元素进行快速随机访问,但是向List中间插入与移除元素的速度很慢。
Set、List和Map统称为Java集合。Set(集)Set集合中的对象不按特定方式排序,并且没有重复对象。Set接口主要有两个实现类HashSet和TreeSet。HashSet类按照哈希算法来存取集合中的对象,存取速度比较快。
便会用一个静态变量将hash值存储起来,以后再次获取时便不需要重新计算。因此,List适合经常追加数据,插入,删除数据,但随机取数效率比较低。Set适合经常地随机储存,插入,删除,但是在遍历时效率比较低。
先看看list里是否有和这个重复的,有的话就不加。用list.contains(object o)判断。不过你要复写equals方法,满足你的要求才行。
Java中怎么优化for循环遍历list两万条数据
1、不要优化,只要显示就好,一次弄10条之后,可以来一个action之后,记住前面的结果,再显示出下10条。也就是说多接触数据库,但是每次却只需要将10条插入list里面。
2、增强for循环和iterator遍历的效果是一样的,也就说 增强for循环的内部也就是调用iteratoer实现的(可以查看编译后的文件),但是增强for循环 有些缺点,例如不能在增强循环里动态的删除集合内容。不能获取下标等。
3、比如:3万行数据,分成6页(当然可以根据每页的数据设置页数),每页5000条数据。需要第1页的数据,则返回前面的5000条,即 (第1页-1) * 5000 到 第1页 * 5000,这个区间内的数据。依次类推。
如何在java中实现List集合的遍历
使用索引(index)来遍历List 使用Iterator来遍历List。(for-each其实也是利用Iterator)注意:如果仅仅是遍历,那么可以可以使用索引或Iterator来遍历。
一定要先从前向后才可以从后向前,要不然是不行的。
} 如果要全部删除,用clear()方法是最简单的。另外,Iterator也带有remove()方法,可以在遍历的时候,根据一定条件来进行删除。
java中list的遍历有几种方式
1、使用索引(index)来遍历List 使用Iterator来遍历List。(for-each其实也是利用Iterator)注意:如果仅仅是遍历,那么可以可以使用索引或Iterator来遍历。
2、遍历方式有四种:java.util.ListString list = new java.util.ArrayLustString(); list.add(a); list.add(b); //方式一:使用java.util.Iterator容器迭代。
3、List的遍历方式有两种,第一种是采用for(int i = 0;ilist.size();i++),第二种采用list.iterator()。当List为ArrayList时两种方式遍历差别不大,第二种稍快。
4、你不用for-each,对于list形式差不多,因为碰巧list.toString()方法里面也是跑了一个遍历,所以你看起来是一样的。你仔细看下,直接systemout和你的 格式不一样的,直接tostring用逗号分割的,你的是用空白分给的。
Java遍历List的几种方法及其性能比较
1、foreach循环遍历:根据反编译的字节码可以发现,foreach内部也是采用了Iterator的方式实现,只不过Java编译器帮我们生成了这些代码。
2、第二种:for(String data : list) { …} 内部调用第一种, 换汤不换药, 因此比Iterator 慢,这种循环方式还有其他限制。
3、使用索引(index)来遍历List 使用Iterator来遍历List。(for-each其实也是利用Iterator)注意:如果仅仅是遍历,那么可以可以使用索引或Iterator来遍历。