[转载] c++list遍历_List、Set、数据结构、Collections
参考链接: C++ 集合Set的遍历
一、List集合
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Demo01 {
public static void main(String[] args) {
//创建一个List集合对象,多态
List< String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("a");
System.out.println(list);//[a,b,c,d]
list.add(3,"d");
System.out.println(list);//[a,b,c,d,a]
String removeC = list.remove(2);
System.out.println("被移除的元素是"+removeC);
System.out.println(list);//[a,b,d,a]
list.set(3,"A");
System.out.println(list);//[a, b, d, A]
//for循环遍历
for (int i = 0; i < list.size(); i++) {
String s = list.get(i);
System.out.println(s);//abdA
}
//迭代器遍历
Iterator<String> it = list.iterator();
while (it.hasNext()){
String s = it.next();
System.out.println(s);//abda
}
//增强for循环 list.for
for (String s : list) {
System.out.println(s);//abda
System.out.println("董".hashCode());
}
}
}
二、LinkedList集合
addFirst、addLast、push:添加第一个/最后一个/第一个元素
getFirst、getLast:返回第一个/最后一个元素
removeFirst、removeLast、pop:移除第一个元素,同removeFirst
isEmpty:不包含元素返回true
三、HashSet集合
存储不重复元素的原理
LinkedHashSet集合
六、关于Collections
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
public class Demo07 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("a");
list.add("b");
//用addAll来一次性添加多个元素
Collections.addAll(list,"d","c");
System.out.println(list);//[a, b, d, c]
//打乱顺序
Collections.shuffle(list);
System.out.println(list);//[a, d, c, b] 随机顺序
Collections.sort(list);
System.out.println(list);//[a,b,c,d]升序
ArrayList<Demo04> list1 = new ArrayList<>();
list1.add(new Demo04("董",18));
list1.add(new Demo04("皓",20));
list1.add(new Demo04("宇",13));
//无法对人进行排序,1.需要在Demo04里面加,2.然后对Demo04进行方法的重写
//1.public class Demo04 implements Comparable<Demo04>
/*@Override
public int compareTo(Demo04 o) {
// return 0; 我们自定义规则
return this.getAge() - o.getAge();//升序排序
return o.getAge() - this.getAge();//降序排序
}
*/
Collections.sort(list1);
System.out.println(list1);//[Demo04{name='宇', age=13}, Demo04{name='董', age=18}, Demo04{name='皓', age=20}]
//还可以用Comparator来进行 排序,它相当于找一个第三方的裁判。
// o1-o2:升序
System.out.println("=============================");
Collections.sort(list1, new Comparator<Demo04>() {
@Override
public int compare(Demo04 o1, Demo04 o2) {
return o1.getAge()-o2.getAge();
}
});
System.out.println(list1);
};
}
//=============================================================
import java.util.Objects;
public class Demo04 implements Comparable<Demo04> {
private String name;
private int age;
public Demo04( ) {
}
public Demo04(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Demo04 demo04 = (Demo04) o;
return age == demo04.age &&
Objects.equals(name, demo04.name);
}
@Override
public int hashCode() {
return Objects.hash(name, age);
}
@Override
public String toString() {
return "Demo04{" +
"name='" + name + ''' +
", age=" + age +
'}';
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public int compareTo(Demo04 o) {
// return 0; 我们自定义规则
return o.getAge() - this.getAge();//升序排序
}
}
[转载] c++list遍历_List、Set、数据结构、Collections相关推荐
- 【转载】MySQL索引背后的数据结构及算法原理
本文转载自http://blog.jobbole.com/24006/ 摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储 ...
- c++ list遍历_List集合就这么简单「源码剖析」
前言 声明,本文用得是jdk1.8 前一篇已经讲了Collection的总览:Collection总览,介绍了一些基础知识. 现在这篇主要讲List集合的三个子类: ArrayList 底层数据结构是 ...
- 【转载】Python遍历pandas数据方法总结
转载自脚本之家 https://www.jb51.net/article/134753.htm <Python遍历pandas数据方法总结> 贴4条常用的,其他的移步原帖链接. 列表解析方 ...
- (转载)Unity3d开发中常用的数据结构总结与分析
来到周末,小匹夫终于有精力和时间来更新下博客了.前段时间小匹夫读过一份代码,对其中各种数据结构灵活的使用赞不绝口,同时也大大激发了小匹夫对各种数据结构进行梳理和总结的欲望.正好最近也拜读了若干大神的文 ...
- 程序员面试题精选100题(12)-从上往下遍历二元树[数据结构]
题目:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印. 例如输入 8 / \ 6 10 /\ /\ 5 7 9 11 输出8 ...
- python遍历树结构_python 数据结构与算法——树的遍历
1.广度优先遍历 2.深度优先遍历 先序遍历:把根放在最前面 中序遍历:把根放在中间 后序遍历:把根放在后面 # -*- coding: utf-8 -*- """ Cr ...
- c语言系统的通用数据结构,(转载)C语言实现通用数据结构的高效设计
(转载)C语言实现通用数据结构的高效设计 [复制链接] 使用宏替代模板的方案 最近在阅读一个开源的C++代码,里面用到了大量的STL里面的东西.也许是自己一直用C而很少用C++来实现算法的原因,STL ...
- python二叉树遍历例子_python数据结构之二叉树的遍历实例
遍历方案 从二叉树的递归定义可知,一棵非空的二叉树由根结点及左.右子树这三个基本部分组成.因此,在任一给定结点上,可以按某种次序执行三个操作: 1).访问结点本身(N) 2).遍历该结点的左子树( ...
- 【转载】VC遍历文件夹下所有文件和文件夹
2019独角兽企业重金招聘Python工程师标准>>> 一.先介绍一个结构WIN32_FIND_DATA VC遍历文件夹下所有文件和文件夹 typedef struct _WIN32 ...
最新文章
- JavaScript正则表达式test的用法
- 冒泡 MS Azure 不便宜。。。
- python火狐配置文件_Python+Selenium中级篇之4-封装一个自己的类-浏览器引擎类/Python读取配置文件内容...
- 基础C语言 学习总结3
- Python 猜数字游戏
- java云端开发_云端编写Java代码的方法
- 用Atlas来实现一个基于AJAX的无刷新Chatroom
- pythonmt4通讯swot矩阵_SWOT矩阵分析法
- 本地搭建mysql数据库
- 买房的疯了-开发商笑不起来了(本文仅供新浪)
- 【WPS 表格】制作动态图表
- 漏洞通告 | Atlassian Confluence存在远程代码执行漏洞,悬镜云鲨RASP天然免疫防护...
- 联想计算机机房怎么同传,电脑开机自动进入网络同传
- 官媒痛批“精神鸦片”,曾拿百万年终奖的腾讯游戏员工要失业了吗?
- KartoSLAM 使用
- 蝉知企业门户系统v7.7 - 命令执行漏洞
- 菜单制作工具下载中文版 绿色软件
- Python运用蒙特卡洛算法模拟植物生长
- 舞台音效控制软件_音效软件
- iOS8.1.3下Inhouse App无法安装问题
热门文章
- 牛客竞赛,GDDU第十届文远知行杯新生程序设计竞赛,摸鱼记(BDEIKL题解,补G,ACFHJ)
- 【CCCC】L3-005 垃圾箱分布 (30分),Dijkstra跑n遍 = 多源最短路,emm
- 初赛中的CCF广告题
- 【poj1995】Raising Modulo Numbers
- element引入的组件大小高度不对_ElementUI 在 按需引入时定义 default size?
- append在python中是什么意思_append在python里是什么意思
- oracle 对象仕途,“事业型”凤凰男为了仕途不顾家,妻子的选择让他措手不及...
- php preg split,php preg_split()字符串分割函数的使用方法
- Jexl表达式引擎-根据字符串动态执行JAVA
- 蛮力法 —— 求解迷宫问题 —— DFS和BFS