首页 > 编程语言 >JavaSE核心(4)

JavaSE核心(4)

时间:2023-10-06 21:34:24浏览次数:38  
标签:int 核心 System 数组 array2 print JavaSE out

三:数组

    一、概述

       1. 数组的概念:相同数据类型元素的集合

       2. 数组的作用:用来存储基本数据类型和引用数据类型的数据

 

    二、常用操作

package com.binge.myblogsystem;


public class Test {


public static void main(String[] args) {
/**
* 1. 数组的初始化
*/
// 1.1 数组的静态初始化
int[] array1 = {1, 3, 5, 6, 7, 2, 4, 10};

// 1.2 数组的动态初始化
int[] array2 = new int[5];
array2[0] = 1;
array2[1] = 2;
array2[2] = 7;
array2[3] = 3;
array2[4] = 4;

/**
* 2. 数组的遍历
*/
// 2.1 for循环打印数组
for (int i = 0; i < array2.length; i++) {
System.out.print(array2[i]);

}

// 2.2 foreach打印数组
for (int i : array2) {
System.out.print(i);

}

/**
* 3. 数组排序
*/

// 3.1 冒泡排序
for (int i = 0; i < array2.length; i++) {
for (int j = i + 1; j < array2.length; j++) {
// 1. 比较相邻元素,将较大的数冒泡
if (array2[i] > array2[j]) {
// 2. 交换
int temp = array2[i];
array2[i] = array2[j];
array2[j] = temp;

}

}

}
for (int i : array2) {
System.out.println(i);

}

// 3.2 选择排序
for (int i = 0; i < array2.length; i++) {
int min = i;
for (int j = i; j < array2.length; j++) {
// 1. 找到最小的数
if (array2[j] < array2[min]) {
// 2. 将最小的数赋值给min
min = j;

}

}
// 3. 交换两个数的位置
int temp = array2[i];
array2[i] = array2[min];
array2[min] = temp;

}
for (int i : array2) {
System.out.println(i);

}

// 3.3 反转排序
for (int i = 0; i < array2.length / 2; i++) {
// 将第i位元素与array2.length-1-i位元素交换
int temp = array2[i];
array2[i] = array2[array2.length - 1 - i];
array2[array2.length - 1 - i] = temp;

}
for (int i : array2) {
System.out.println(i);

}

// 3.4 插入排序
for (int i = 0; i < array2.length; i++) {
int j = i;
int tmp = array2[i];
for (; j > 0 && tmp < array2[j - 1]; j--) {
// 1. 将大于待排序的数向后移
array2[j] = array2[j - 1];

}
// 2. 交换
array2[j] = tmp;

}
for (int i : array2) {
System.out.println(i);

}

}

}

    三、Arrays工具类

import java.util.Arrays;
import java.util.List;

public class Test {
public static void main(String[] args) {
int[] array1 = {1, 3, 5, 2, 4};
int[] array2 = {3, 2};

// 1. 排序
Arrays.sort(array2);
for(int i :array2)

{
System.out.print(i);
}

// 2. 二分法查找
System.out.print(Arrays.binarySearch(array2,3));

// 3. 数组元素比较
System.out.println(Arrays.equals(array1,array2));

// 4. 数组元素填充
Arrays.fill(array2,1);
for(
int j :array2)

{
System.out.println(j);
}

/**
* aslist详解
* 1. 该方法适用于对象型数据的数组(String、Integer...)
* 2. 该方法不建议使用于基本数据类型的数组(byte,short,int,long,float,double,boolean)
* 3. 该方法将数组与List列表链接起来:当更新其一个时,另一个自动更新
* 4. 不支持add()、remove()、clear()等方法
*/

// 1、对象类型(String型)的数组数组使用asList(),正常
String[] strings = {"aa", "bb", "cc"};
List<String> stringList = Arrays.asList(strings);
System.out.print("1、String类型数组使用asList(),正常: ");
for(
String str :stringList)

{
System.out.print(str + " ");
}
System.out.println();

// 2、对象类型(Integer)的数组使用asList(),正常
Integer[] integers = new Integer[]{1, 2, 3};
List<Integer> integerList = Arrays.asList(integers);
System.out.print("2、对象类型的数组使用asList(),正常: ");
for(
int i :integerList)

{
System.out.print(i + " ");
}
System.out.println();

// 3、基本数据类型的数组使用asList(),出错
int[] ints = new int[]{1, 2, 3};
List intList = Arrays.asList(ints);
System.out.print("3、基本数据类型的数组使用asList(),出错(输出的是一个引用,把ints当成一个元素了):");
for(
Object o :intList)

{
System.out.print(o.toString());
}
System.out.println();

System.out.print(" "+"这样遍历才能正确输出:");
int[] ints1 = (int[]) intList.get(0);
for(
int i :ints1)

{
System.out.print(i + " ");
}
System.out.println();

// 4、当更新数组或者List,另一个将自动获得更新
System.out.print("4、当更新数组或者List,另一个将自动获得更新: ");
integerList.set(0,5);
for(
Object o :integerList)

{
System.out.print(o + " ");
}
for(
Object o :integers)

{
System.out.print(o + " ");
}
System.out.println();

}
}

标签:int,核心,System,数组,array2,print,JavaSE,out
From: https://www.cnblogs.com/StarLemon/p/17745066.html

相关文章

  • JavaSE核心(2)
    二:Java基础知识   一、标识符和关键字      1.标识符          1.在java语言中,用来标志类名、对象名、变量名、方法名、类型名、数组名、包名的有效字符序列,称为“标识符”;          2.标识符由字母、数字、下划线、美元符号组成,且第一......
  • 武汉星起航:一站式服务的核心驱动力,助力卖家开拓亚马逊平台
    随着全球市场的日益扩大和互联网的迅猛发展,跨境电商已经成为众多企业抢占国际市场份额的有力途径。然而,这个机遇充满挑战,需要有一个强大的伙伴为您提供全方位的支持和解决方案。武汉星起航电子商务有限公司正是这样一个伙伴,我们将一站式服务视为核心驱动力,通过持续关注跨境电商合规......
  • 性能暴增70%!AMD线程撕裂者RPO 7000将于10月19日发布: 96核心Zen 4史无前例
    据wccftech最新报道,AMD的下一代RyzenThreadripper(线程撕裂者)PRO7000“StormPeak”CPU将于10月19日作为终极工作站解决方案亮相。据悉,线程撕裂者PRO7000是AMD基于Zen4架构的最新一代旗舰工作站CPU,它的推出也意味着基于Zen3的PRO5000系列将退出历史舞台。根据泄露的消息,预......
  • Mybayis核心基础
    核心基础MyBaits获取参数的两种方法#{}和${}方式在平常状态下兼顾安全性和开发效率,通常使用#{}方法获取参数极少的情况下使用${}的方式,例如动态获取表名,依据字段排序等。增删改查标签标签常用于映射查询语句,它主要用于从数据库中查询数据并返回标签用于映射插入语句,执......
  • 《机器人SLAM导航核心技术与实战》第1季:第6章_机器人底盘
    《机器人SLAM导航核心技术与实战》第1季:第6章_机器人底盘 视频讲解【第1季】6.第6章_机器人底盘-视频讲解【第1季】6.1.第6章_机器人底盘_底盘运动学模型-视频讲解【第1季】6.2.第6章_机器人底盘_底盘性能指标-视频讲解【第1季】6.3.第6章_机器人底盘_典型机器人底......
  • JavaSE(07) - API -String字符串
    JavaSE(07)-API-String字符串p96API和API帮助文档p97String概述java.lang.String类代表字符串,java程序中的所有字符串文字(例如"abc")都是此类的对象.注意点:字符串的内容是不会发生改变的,他的对象在创建后不能被更改.p89String的构造方法代码实现和内存分析......
  • JavaSE(08) - 集合 - ArrayList
    JavaSE(08)-集合-ArrayListp111ArrayList基本使用创建集合对象,泛型:限定集合中的数据类型.在jdk7中,后面的<>中可以不写数据类型.集合在底层做了一些处理,打印对象不是地址值,而是集合中存储的内容.publicclassArrayListBasic{publicstaticvoidmain......
  • pandas(进阶操作)-- 处理非数值型数据 -- 数据分析三剑客(核心)
    博客地址:https://www.cnblogs.com/zylyehuo/开发环境anaconda集成环境:集成好了数据分析和机器学习中所需要的全部环境安装目录不可以有中文和特殊符号jupyteranaconda提供的一个基于浏览器的可视化开发工具importnumpyasnpimportpandasaspdfrompandasi......
  • diskqueue的数据定义,运转核心ioloop()源码详解
     nsq中diskqueue是nsq消息持久化的核心,内容较多,一共分为多篇1.diskqueue是什么,为什么需要它,整体架构图,对外接口2.diskqueue的元数据文件,数据文件,启动入口,元数据文件读写及保存3.diskqueue的数据定义,运转核心ioloop()源码详解4. diskqueue怎么写入消息,怎么对外发送消息前面一篇......
  • pandas -- 处理非数值型数据 -- 数据分析三剑客(核心)
    博客地址:https://www.cnblogs.com/zylyehuo/为什么学习pandasnumpy已经可以帮助我们进行数据的处理了,那么学习pandas的目的是什么呢?numpy能够帮助我们处理的是数值型的数据,当然在数据分析中除了数值型的数据还有好多其他类型的数据(字符串,时间序列),那么pandas就可以帮我们很好......