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

1、ArrayList

 package cn.intcast.demo11;

 import java.util.ArrayList;

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

运行结果图

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

运行效果图

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

 package cn.intcast.demo11;

 import java.util.ArrayList;

 public class Demo01ArrayList {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
System.out.println(list); //[] //向集合中添加元素
boolean su = list.add("赵奢");
System.out.println(list);
System.out.println("添加是否成功:"+su);
list.add("张仪");
list.add("苏秦");
list.add("大良造");
System.out.println(list); //从集合中获取元素:get。索引值从0开始
String s1 = list.get(0);
System.out.println("第0号索引位置的值是:"+s1);
System.out.println("========================");
//遍历集合中的元素
for (int i = 0; i <= 3; i++) {
System.out.println(list.get(i));
}
System.out.println("========================");
//从集合中删除元素:remove,索引值也是从0开始
String whoRemoved = list.remove(3);
System.out.println("被删除的人是:"+whoRemoved);
System.out.println(list);
System.out.println("========================");
//获取集合的长度,即其中元素的个数
int Size = list.size();
System.out.println("集合的长度是:"+Size);
System.out.println("========================");
//遍历集合
for (int i = 0; i < Size; i++) {
System.out.println(list.get(i));
}
}
}

运行效果图

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

 package cn.intcast.demo11;

 import java.util.ArrayList;

 public class Demo02ArrayList {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
//错误写法
// ArrayList<int> list1 = new ArrayList<int>();
ArrayList<Integer> list1 = new ArrayList<>();
ArrayList<Byte> list2 = new ArrayList<>();
ArrayList<Short> list3 = new ArrayList<>();
ArrayList<Long> list4 = new ArrayList<>();
ArrayList<Float> list5 =new ArrayList<>();
ArrayList<Double> list6 = new ArrayList<>();
ArrayList<Character> list7 = new ArrayList<>();
ArrayList<Boolean> list8 = new ArrayList<>(); list1.add(2);
list1.add(3);
System.out.println(list1);
}
}

运行效果图

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

 package cn.intcast.demo11;

 import java.util.ArrayList;
import java.util.Random; public class Demo03ArrayList {
public static void main(String[] args) {
//创建Random对象
Random r = new Random();
//创建集合
ArrayList<Integer> list = new ArrayList<>();
//添加随机数到集合
for (int i = 0; i < 6; i++) {
int s = r.nextInt(33) + 1;
list.add(s);
}
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}

运行效果图

5、存储自定义对象

 package cn.intcast.demo11;

 public class Student {
private String name;
private String sex;
private int age; public Student() {
} public Student(String name, String sex, int age) {
this.name = name;
this.sex = sex;
this.age = age;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getSex() {
return sex;
} public void setSex(String sex) {
this.sex = sex;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
}
}

标准的Student类

 package cn.intcast.demo11;

 import java.util.ArrayList;

 public class Demo03ArrayList {
public static void main(String[] args) {
ArrayList<Student> list = new ArrayList<>();
Student s1 = new Student("武松","男",22);
Student s2 = new Student("孙二两","女",26);
Student s3 = new Student("宋江","男",25);
Student s4 = new Student("武大浪","男",23); list.add(s1);
list.add(s2);
list.add(s3);
list.add(s4); for (int i = 0; i < list.size(); i++) {
Student stu = list.get(i);
System.out.println("姓名是:"+stu.getName()+"\n"+"性别是:"+stu.getSex()+"\n"+"年龄是:"+stu.getAge()+"\n");
}
}
}

ArrayList

运行效果图

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

 package cn.intcast.demo11;

 import java.util.ArrayList;

 public class Demo04ArrayList {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("金庸");
list.add("武侠");
list.add("科幻");
list.add("玄幻");
System.out.println(list);
printArrayList(list);
}
public static void printArrayList(ArrayList<String> list){
System.out.print("{");
for (int i = 0; i < list.size(); i++) {
String name = list.get(i);
if (i==list.size()-1){
System.out.print(name+"}");
}else {
System.out.print(name+"|||");
}
}
}
}

运行效果图

7、筛选集合中的随机数

 package cn.intcast.demo11;

 import java.util.ArrayList;
import java.util.Random; public class Demo04ArrayList {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
Random R = new Random();
for (int i = 0; i < 20; i++) {
int n = R.nextInt(50) + 1;
list.add(n);
}
ArrayList<Integer> smalllist = getSmallList(list);
for (int i = 0; i < smalllist.size(); i++) {
System.out.print(smalllist.get(i)+" ");
}
} //这个方法接收第一个list参数,返回第二个集合结果
public static ArrayList<Integer> getSmallList(ArrayList<Integer> list) {
ArrayList<Integer> smallList = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
int num = list.get(i);
if (num % 2 == 0) {
smallList.add(num);
}
}
return smallList;
}
}

运行效果图

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. mysql中group by和order by混用 结果不是理想结果(转)

    文章转自 https://www.cnblogs.com/myphper/p/3767572.html 在使用mysql排序的时候会想到按照降序分组来获得一组数据,而使用order by往往得到的不是 ...

  2. (三)Installation

    Elasticsearch requires at least Java 8. Specifically as of this writing, it is recommended that you ...

  3. Linux Hung Task分析

    关键词:khungtaskd.TASK_UNINTERRUPTIBLE.nvcsw.nivcsw.last_switch_count等等. 经常会遇到内核打印“INFO: task xxx:xxx b ...

  4. 4-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(为域名申请SSl证书)

    3-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(购买域名,域名绑定IP) 然后就是等着..... 假设可以了 咱呢是配置MQTT实现SSL安全加密通信,所以 ...

  5. 【转】JAVA多线程实现的四种方式

    原文地址:http://www.cnblogs.com/felixzh/p/6036074.html Java多线程实现方式主要有四种:继承Thread类.实现Runnable接口.实现Callabl ...

  6. Elasticsearch通关教程(五):如何通过SQL查询Elasticsearch

    前言 这篇博文本来是想放在全系列的大概第五.六篇的时候再讲的,毕竟查询是在索引创建.索引文档数据生成和一些基本概念介绍完之后才需要的.当前面的一些知识概念全都讲解完之后再讲解查询是最好的,但是最近公司 ...

  7. Golang 入门 : 字符串

    在 Golang 中,字符串是一种基本类型,这一点和 C 语言不同.C 语言没有原生的字符串类型,而是使用字符数组来表示字符串,并以字符指针来传递字符串.Golang 中的字符串是一个不可改变的 UT ...

  8. Gruntfile.js模板

    module.exports = function(grunt) { // 配置项 var AppConfig = { name: 'app', //源文件目录 src: 'app/src', //生 ...

  9. flask(三)之Flask-SQLAlchemy

    01-介绍 Flask-SQLAlchemy是一个Flask扩展,简化了在Flask应用中使用SQLAlchemy的操作.SQLAlchemy提供了高层ORM,也提供了使用数据库原生SQL的低层功能. ...

  10. BugPhobia开发篇章:Beta阶段第VII次Scrum Meeting

    0x01 :Scrum Meeting基本摘要 Beta阶段第七次Scrum Meeting 敏捷开发起始时间 2015/12/19 00:00 A.M. 敏捷开发终止时间 2015/12/21 23 ...