不要在 foreach 循环里进行元素的 remove/add 操作.remove 元素请使用 Iterator 方式. 反例: public class ForeachTest { private List<String> list = new ArrayList<String>(); @Test public void forTest() { list.add("1"); list.add("2"); for(String temp :…
数组.集合:都是一种容器,用一个对象管理多个对象:数组不能自动增长:只能存放同类型的元素 集合能自动扩容:部分集合允许存放不同类型的元素: 1.List: 有顺序的,允许存放重复的元素: 遍历:for  迭代 排序:Comparable Comparator   Collections.sort() ArrayList:数组实现,查询快,增删慢,线程不安全,轻量级: LinkedList:底层用双向循环链表 实现的List 特点:查询效率低,增删效率高 Vector: 底层用数组实现List接口…
java.util.Collection接口 Java的集合主要由两个接口派生出来,一个是Collection一个是Map,本章只记录Collection常用集合 集合只能存储引用类型数据,不能存储基本类型数据 集合类是一种特别有用的工具类,它可以存放数量不等的对象,实现常用的数据结构,如栈,队列等.除此之外,Java集合还可用于保存具有映射关系的关联数组.简单的来说,Java集合就是一个容器,可以把多个对象丢进该容器中. Collection从父类接口Iterable中继承了抽象方法itera…
作者:小傅哥 博客:https://bugstack.cn - 原创系列专题文章 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 相信相信的力量! 从懵懂的少年,到拿起键盘,可以写一个HelloWorld.多数人在这并不会感觉有多难,也不会认为做不出来.因为这样的例子,有老师的指导.有书本的例子.有前人的经验.但随着你的开发时间越来越长,要解决更复杂的问题或者技术创新,因此在网上搜了几天几夜都没有答案,这个时候是否想过放弃,还是一直坚持不断的尝试一点点完成自己心里要的结果.往往这种没有前…
如果用foreach,会造成被遍历的集合更改后带来异常问题. 方法一:用for循环可有效的解决这个问题. ;i<List.Count;i++) { if(条件是真) { List.Remove(List[i]); i--; } } 方法二:再用另外的一个List集合存储要删除的对象. List<T> newlists=new List<T>(); foreach(T t in List) { lists.add(t); } foreach(T t in newlists) {…
[1]首先我们先创建一个带数组形式的json格式的数组 1)我们按照结构定义一个类,如下: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Collections;using System.IO; namespace ceshi1{    class Data    {        public string text        {         …
/* * 遍历List/Set/Map集合的一些常用方法 */import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set; public class TestMapListSet { public static void ma…
https://es6.ruanyifeng.com/#docs/iterator Iterator(遍历器)的概念 Iterator 接口主要供for...of消费 Iterator 的遍历过程是: 创建一个指针对象,指向当前数据结构的起始位置. 第一次调用指针对象的next方法,可以将指针指向数据结构的第一个成员 不断调用指针对象的next方法,直到它指向数据结构的结束位置. 疑问:指针对象是指创建一个包含内存地址的对象吗?应该是一个普通对象包含value和done两个属性 每一次调用nex…
Map集合的特点 1.Map集合中保存的都是键值对,键和值是一一对应的 2.一个映射不能包含重复的值 3.每个键最多只能映射到一个值上 Map接口和Collection接口的不同 Map是双列集合的根接口,Collection是单列集合的根接口 1.Map是双列的(是双列集合的根接口),Collection是单列的(是单列集合的根接口) 2.Map的键是唯一的,Collection的子接口Set是唯一的 3.Map集合的数据结构值针对键有效,跟值无关:如:TreeMap:键是用二叉树算法,Has…
YII框架中可以使用foreach遍历对象以及可以使用数组形式直接访问对象的原因在YII框架的使用过程中,我们可以使用foreach直接遍历findAll等方法返回的对象的属性为什么呢?其实这与CModel实现的接口相关,接下来我们看下其实现的整个过程对于一个我们定义的model,它会继承虚类CActiveRecord,CActiveRecord类继承于CModel,如下所示: class special extends CActiveRecord { } abstract class CAct…