间歇性混吃等死,持续性踌躇满志系列-------------第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. Python距离放弃拉近的day03

    新的一天,依旧是内容补充,补充了数学没有的运算符,in和not in,就是判断in前面的东西是不是在后面的数据中,然后新课讲了平常最常用的字符串的方法,引号的里面全部都是字符串,在其中就会又如何判断这 ...

  2. 2019年桌面Linux需要做好的7件事

    2019年桌面Linux需要做好的7件事 新的一年已经到来,这意味着又一年过去了,Linux还是没有发现自己主宰了桌面.Linux在许多方面做得非常好,在接下来的几周,我们将研究一些最适合您各种需求的 ...

  3. SQL 撤销索引、表以及数据库

    通过使用 DROP 语句,可以轻松地删除索引.表和数据库. SQL DROP INDEX 语句 我们可以使用 DROP INDEX 命令删除表格中的索引. 用于 Microsoft SQLJet (以 ...

  4. centos7下kubernetes(16。kubernetes-滚动更新)

    滚动更新:一次只更新一小部分副本,成功后,在更新更多的副本,最终完成所有副本的更新. 滚动更新的最大好处是零停机,整个更新过程始终有副本在运行,从而保证了业余的连续性 下面部署三个副本的应用,出事镜像 ...

  5. CentOS 7 软件安装简记

    Install SW Record ================= $ sudo yum install vim-X11.x86_64 $ sudo yum install clang.x86_6 ...

  6. 2、FreeRTOS任务相关API函数

    1.任务相关的API函数 函数存在于task.c中,主要的函数有: xTaskCreate():使用动态的方法创建一个任务: xTaskCreatStatic():使用静态的方法创建一个任务(用的非常 ...

  7. 使用Dapper.Contrib 开发.net core程序,兼容多种数据库

    关于Dapper的介绍,我想很多人都对它有一定的了解,这个类似一个轻型的ORM框架是目前应用非常火的一个东西,据说各方面的性能都不错,而且可以支持多种数据库,在开始介绍这个文章之前,我花了不少功夫来学 ...

  8. 599. Minimum Index Sum of Two Lists(easy)

    Suppose Andy and Doris want to choose a restaurant for dinner, and they both have a list of favorite ...

  9. c语言之控制语句:循环

    #include<stdio.h> int main(void) { long num; long sum = 0L; int status; printf("Please en ...

  10. Error updating database. Cause: java.sql.SQLException: Access denied for user '${username}'@'localhost' (using password: YES)

    导入别人的项目,出现一个错误,经过排查,是db.properties配置文件中的用户名与Mybatis-conf.xml配置文件中调用的用户名不一致所导致的 (db.properties中用的是nam ...