间歇性混吃等死,持续性踌躇满志系列-------------第11天

1、ArrayList

  1. package cn.intcast.demo11;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. /*
  6. * 数组的长度不可以发生改变
  7. * 但是ArrayList集合的长度是可以随意变化的
  8. *
  9. * 对于ArrayList来说,有一个尖括号<E>代表泛型。
  10. * 泛型:就是装在集合当中的所有元素,全都是统一的什么类型
  11. * 注:泛型只能是引用类型。不能是基本类型
  12. * 对于ArrayList集合来说,直接打印得到的不是地址值,而是内容
  13. * 如果内容为空,得到的是空的中括号
  14. *
  15. */
  16. public class Demo01ArrayList {
  17. public static void main(String[] args) {
  18. //创建了一个ArrayList集合,集合的名称是List,里面装的全都是String字符串类型
  19. //注:从JDK 1.7+开始,右侧的尖括号内部可以不写内容但是<>本身还是要写的
  20. ArrayList<String> list = new ArrayList<>();
  21. System.out.println(list);
  22. }
  23. }

运行结果图

尖括号的泛型定义完类型之后不能添加其他类型的集合元素,否则会报错

运行效果图

2、ArrayList集合的常用方法和遍历

  1. package cn.intcast.demo11;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. public class Demo01ArrayList {
  6. public static void main(String[] args) {
  7. ArrayList<String> list = new ArrayList<>();
  8. System.out.println(list); //[]
  9.  
  10. //向集合中添加元素
  11. boolean su = list.add("赵奢");
  12. System.out.println(list);
  13. System.out.println("添加是否成功:"+su);
  14. list.add("张仪");
  15. list.add("苏秦");
  16. list.add("大良造");
  17. System.out.println(list);
  18.  
  19. //从集合中获取元素:get。索引值从0开始
  20. String s1 = list.get(0);
  21. System.out.println("第0号索引位置的值是:"+s1);
  22. System.out.println("========================");
  23. //遍历集合中的元素
  24. for (int i = 0; i <= 3; i++) {
  25. System.out.println(list.get(i));
  26. }
  27. System.out.println("========================");
  28. //从集合中删除元素:remove,索引值也是从0开始
  29. String whoRemoved = list.remove(3);
  30. System.out.println("被删除的人是:"+whoRemoved);
  31. System.out.println(list);
  32. System.out.println("========================");
  33. //获取集合的长度,即其中元素的个数
  34. int Size = list.size();
  35. System.out.println("集合的长度是:"+Size);
  36. System.out.println("========================");
  37. //遍历集合
  38. for (int i = 0; i < Size; i++) {
  39. System.out.println(list.get(i));
  40. }
  41. }
  42. }

运行效果图

3、ArrayLi集合存储基本数据类型

  1. package cn.intcast.demo11;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. public class Demo02ArrayList {
  6. public static void main(String[] args) {
  7. ArrayList<String> list = new ArrayList<>();
  8. //错误写法
  9. // ArrayList<int> list1 = new ArrayList<int>();
  10. ArrayList<Integer> list1 = new ArrayList<>();
  11. ArrayList<Byte> list2 = new ArrayList<>();
  12. ArrayList<Short> list3 = new ArrayList<>();
  13. ArrayList<Long> list4 = new ArrayList<>();
  14. ArrayList<Float> list5 =new ArrayList<>();
  15. ArrayList<Double> list6 = new ArrayList<>();
  16. ArrayList<Character> list7 = new ArrayList<>();
  17. ArrayList<Boolean> list8 = new ArrayList<>();
  18.  
  19. list1.add(2);
  20. list1.add(3);
  21. System.out.println(list1);
  22. }
  23. }

运行效果图

4、生成6个1-33之间的随意整数,添加到集合,并遍历集合

  1. package cn.intcast.demo11;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Random;
  5.  
  6. public class Demo03ArrayList {
  7. public static void main(String[] args) {
  8. //创建Random对象
  9. Random r = new Random();
  10. //创建集合
  11. ArrayList<Integer> list = new ArrayList<>();
  12. //添加随机数到集合
  13. for (int i = 0; i < 6; i++) {
  14. int s = r.nextInt(33) + 1;
  15. list.add(s);
  16. }
  17. for (int i = 0; i < list.size(); i++) {
  18. System.out.println(list.get(i));
  19. }
  20. }
  21. }

运行效果图

5、存储自定义对象

  1. package cn.intcast.demo11;
  2.  
  3. public class Student {
  4. private String name;
  5. private String sex;
  6. private int age;
  7.  
  8. public Student() {
  9. }
  10.  
  11. public Student(String name, String sex, int age) {
  12. this.name = name;
  13. this.sex = sex;
  14. this.age = age;
  15. }
  16.  
  17. public String getName() {
  18. return name;
  19. }
  20.  
  21. public void setName(String name) {
  22. this.name = name;
  23. }
  24.  
  25. public String getSex() {
  26. return sex;
  27. }
  28.  
  29. public void setSex(String sex) {
  30. this.sex = sex;
  31. }
  32.  
  33. public int getAge() {
  34. return age;
  35. }
  36.  
  37. public void setAge(int age) {
  38. this.age = age;
  39. }
  40. }

标准的Student类

  1. package cn.intcast.demo11;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. public class Demo03ArrayList {
  6. public static void main(String[] args) {
  7. ArrayList<Student> list = new ArrayList<>();
  8. Student s1 = new Student("武松","男",22);
  9. Student s2 = new Student("孙二两","女",26);
  10. Student s3 = new Student("宋江","男",25);
  11. Student s4 = new Student("武大浪","男",23);
  12.  
  13. list.add(s1);
  14. list.add(s2);
  15. list.add(s3);
  16. list.add(s4);
  17.  
  18. for (int i = 0; i < list.size(); i++) {
  19. Student stu = list.get(i);
  20. System.out.println("姓名是:"+stu.getName()+"\n"+"性别是:"+stu.getSex()+"\n"+"年龄是:"+stu.getAge()+"\n");
  21. }
  22. }
  23. }

ArrayList

运行效果图

6、定义以指定格式打印集合的方法(ArrayList类型作为参数),使用{}扩起的集合。使用|||分隔每个元素。

  1. package cn.intcast.demo11;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. public class Demo04ArrayList {
  6. public static void main(String[] args) {
  7. ArrayList<String> list = new ArrayList<>();
  8. list.add("金庸");
  9. list.add("武侠");
  10. list.add("科幻");
  11. list.add("玄幻");
  12. System.out.println(list);
  13. printArrayList(list);
  14. }
  15. public static void printArrayList(ArrayList<String> list){
  16. System.out.print("{");
  17. for (int i = 0; i < list.size(); i++) {
  18. String name = list.get(i);
  19. if (i==list.size()-1){
  20. System.out.print(name+"}");
  21. }else {
  22. System.out.print(name+"|||");
  23. }
  24. }
  25. }
  26. }

运行效果图

7、筛选集合中的随机数

  1. package cn.intcast.demo11;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Random;
  5.  
  6. public class Demo04ArrayList {
  7. public static void main(String[] args) {
  8. ArrayList<Integer> list = new ArrayList<>();
  9. Random R = new Random();
  10. for (int i = 0; i < 20; i++) {
  11. int n = R.nextInt(50) + 1;
  12. list.add(n);
  13. }
  14. ArrayList<Integer> smalllist = getSmallList(list);
  15. for (int i = 0; i < smalllist.size(); i++) {
  16. System.out.print(smalllist.get(i)+" ");
  17. }
  18. }
  19.  
  20. //这个方法接收第一个list参数,返回第二个集合结果
  21. public static ArrayList<Integer> getSmallList(ArrayList<Integer> list) {
  22. ArrayList<Integer> smallList = new ArrayList<>();
  23. for (int i = 0; i < list.size(); i++) {
  24. int num = list.get(i);
  25. if (num % 2 == 0) {
  26. smallList.add(num);
  27. }
  28. }
  29. return smallList;
  30. }
  31. }

运行效果图

JAVA进阶11的更多相关文章

  1. Java进阶(三)多线程开发关键技术

    原创文章,同步发自作者个人博客,转载请务必以超链接形式在文章开头处注明出处http://www.jasongj.com/java/multi_thread/. sleep和wait到底什么区别 其实这 ...

  2. Java进阶03 IO基础

    链接地址:http://www.cnblogs.com/vamei/archive/2013/04/11/3000905.html 作者:Vamei 出处:http://www.cnblogs.com ...

  3. 从ConcurrentHashMap的演进看Java多线程核心技术 Java进阶(六)

    本文分析了HashMap的实现原理,以及resize可能引起死循环和Fast-fail等线程不安全行为.同时结合源码从数据结构,寻址方式,同步方式,计算size等角度分析了JDK 1.7和JDK 1. ...

  4. Java进阶(三十四)Integer与int的种种比较你知道多少?

    Java进阶(三十四)Integer与int的种种比较你知道多少? 前言 如果面试官问Integer与int的区别:估计大多数人只会说到两点:Ingeter是int的包装类,注意是一个类:int的初值 ...

  5. Java进阶(三十二) HttpClient使用详解

    Java进阶(三十二) HttpClient使用详解 Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们 ...

  6. Java进阶之路

    Java进阶之路——从初级程序员到架构师,从小工到专家. 怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序 ...

  7. Java 进阶7 并发优化 5 并发控制板方法

    Java 进阶7 并发优化 5 并发控制板方法 20131114 前言:          Java 中多线程并发程序中存在线程安全的问题,之前学习 Java的同步机制,掌握的同步方法只有一种就是使用 ...

  8. Java进阶7并发优化4——JDK并发数据结构

    Java进阶7并发优化4——JDK并发数据结构20131114 由于并发程序和串行程序的不同特点,在串行程序中使用的数据结构可能无法在并行程序中直接的正常使用,因为这些数据结构可能不是线程安全的,所以 ...

  9. Java进阶学习:将文件上传到七牛云中

    Java进阶学习:将文件上传到七牛云中 通过本文,我们将讲述如何利用七牛云官方SDK,将我们的本地文件传输到其存储空间中去. JavaSDK:https://developer.qiniu.com/k ...

随机推荐

  1. 贷款资讯类APP、贷款资讯网站廉价卖,需要的进来看看

    [app介绍]卡贷资讯app为您提供信用卡申请攻略及借款资讯以及贷款口子,让你借钱借款路上不再愁.[功能特点]1.资讯:聚合各种贷款资讯知识,掌握核心信用卡申请攻略,借款借钱不亏,亦不被骗:2.工具: ...

  2. ESP8266远程OTA升级

    https://blog.csdn.net/xh870189248/article/details/80095139 https://www.wandianshenme.com/play/arduin ...

  3. python3 Counter模块

    from collections import Counter c = Counter("周周周周都方法及")print(c)print(type(c))print('__iter ...

  4. Django 路由系统(URLconf)

    URLconf是什么? URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的view函数之间的映射表:你就是以这种方式告诉Django,对于这个URL调 ...

  5. Vue-项目打包上线

    一.打包生成dist目录 运行npm run build 进行打包,控制台显示“Build complete”表示打包完成了. npm run build 二.dist目录放到后端跟目录 打包后生成一 ...

  6. iis+nginx实现负载均衡

    简要说明:nginx的简介自行百度. 目的:把用户的请求分到各个服务器减轻压力.nginx把监听的端口的请求平均转到布署了网站的服务器. 一.windows上安装nginx 1.官网下载windows ...

  7. heapsort(Java)(最小堆)

    public static void main(String[] args) { Scanner input = new Scanner(System.in); int n = input.nextI ...

  8. OpenStack-Neutron(5)

    一. Neutron 概述 SDN(software-defined networking)软件定义网络,其所具有的灵活性和自动化优势使其成为云时代网络管理的主流. Neutron的设计目标是实现“网 ...

  9. 软工+C(2): 分数和checklist

    // 上一篇:题目设计.点评和评分 // 下一篇:超链接 教学里,建立清晰明确的评分规则并且一开始就公布,对于教师.助教.学生都是重要的. 公布时机 在课程开始的时候,就需要确定并公布评分机制,随着课 ...

  10. npm ERR! code ENOENT

    npm ERR! path F:\VsCodeWorkspace\labWeb\front\LabWebAdminFrontEnd\node_modules\core-jsnpm ERR! code ...