参考链接: 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相关推荐

  1. 【转载】MySQL索引背后的数据结构及算法原理

    本文转载自http://blog.jobbole.com/24006/ 摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储 ...

  2. c++ list遍历_List集合就这么简单「源码剖析」

    前言 声明,本文用得是jdk1.8 前一篇已经讲了Collection的总览:Collection总览,介绍了一些基础知识. 现在这篇主要讲List集合的三个子类: ArrayList 底层数据结构是 ...

  3. 【转载】Python遍历pandas数据方法总结

    转载自脚本之家 https://www.jb51.net/article/134753.htm <Python遍历pandas数据方法总结> 贴4条常用的,其他的移步原帖链接. 列表解析方 ...

  4. (转载)Unity3d开发中常用的数据结构总结与分析

    来到周末,小匹夫终于有精力和时间来更新下博客了.前段时间小匹夫读过一份代码,对其中各种数据结构灵活的使用赞不绝口,同时也大大激发了小匹夫对各种数据结构进行梳理和总结的欲望.正好最近也拜读了若干大神的文 ...

  5. 程序员面试题精选100题(12)-从上往下遍历二元树[数据结构]

    题目:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印. 例如输入 8     /  \    6    10   /\     /\  5  7   9  11 输出8 ...

  6. python遍历树结构_python 数据结构与算法——树的遍历

    1.广度优先遍历 2.深度优先遍历 先序遍历:把根放在最前面 中序遍历:把根放在中间 后序遍历:把根放在后面 # -*- coding: utf-8 -*- """ Cr ...

  7. c语言系统的通用数据结构,(转载)C语言实现通用数据结构的高效设计

    (转载)C语言实现通用数据结构的高效设计 [复制链接] 使用宏替代模板的方案 最近在阅读一个开源的C++代码,里面用到了大量的STL里面的东西.也许是自己一直用C而很少用C++来实现算法的原因,STL ...

  8. python二叉树遍历例子_python数据结构之二叉树的遍历实例

    遍历方案   从二叉树的递归定义可知,一棵非空的二叉树由根结点及左.右子树这三个基本部分组成.因此,在任一给定结点上,可以按某种次序执行三个操作: 1).访问结点本身(N) 2).遍历该结点的左子树( ...

  9. 【转载】VC遍历文件夹下所有文件和文件夹

    2019独角兽企业重金招聘Python工程师标准>>> 一.先介绍一个结构WIN32_FIND_DATA VC遍历文件夹下所有文件和文件夹 typedef struct _WIN32 ...

最新文章

  1. JavaScript正则表达式test的用法
  2. 冒泡 MS Azure 不便宜。。。
  3. python火狐配置文件_Python+Selenium中级篇之4-封装一个自己的类-浏览器引擎类/Python读取配置文件内容...
  4. 基础C语言 学习总结3
  5. Python 猜数字游戏
  6. java云端开发_云端编写Java代码的方法
  7. 用Atlas来实现一个基于AJAX的无刷新Chatroom
  8. pythonmt4通讯swot矩阵_SWOT矩阵分析法
  9. 本地搭建mysql数据库
  10. 买房的疯了-开发商笑不起来了(本文仅供新浪)
  11. 【WPS 表格】制作动态图表
  12. 漏洞通告 | Atlassian Confluence存在远程代码执行漏洞,悬镜云鲨RASP天然免疫防护...
  13. 联想计算机机房怎么同传,电脑开机自动进入网络同传
  14. 官媒痛批“精神鸦片”,曾拿百万年终奖的腾讯游戏员工要失业了吗?
  15. KartoSLAM 使用
  16. 蝉知企业门户系统v7.7 - 命令执行漏洞
  17. 菜单制作工具下载中文版 绿色软件
  18. Python运用蒙特卡洛算法模拟植物生长
  19. 舞台音效控制软件_音效软件
  20. iOS8.1.3下Inhouse App无法安装问题

热门文章

  1. 牛客竞赛,GDDU第十届文远知行杯新生程序设计竞赛,摸鱼记(BDEIKL题解,补G,ACFHJ)
  2. 【CCCC】L3-005 垃圾箱分布 (30分),Dijkstra跑n遍 = 多源最短路,emm
  3. 初赛中的CCF广告题
  4. 【poj1995】Raising Modulo Numbers
  5. element引入的组件大小高度不对_ElementUI 在 按需引入时定义 default size?
  6. append在python中是什么意思_append在python里是什么意思
  7. oracle 对象仕途,“事业型”凤凰男为了仕途不顾家,妻子的选择让他措手不及...
  8. php preg split,php preg_split()字符串分割函数的使用方法
  9. Jexl表达式引擎-根据字符串动态执行JAVA
  10. 蛮力法 —— 求解迷宫问题 —— DFS和BFS