文件结构
排序与查找
排序介绍
冒泡排序
选择排序
快速排序
集合类及移位运算
Class5 / com.test1 / Demo5_1.java: 数组 /* * 功能:数组的必要性 */ package com.test1; public class Demo5_1 { /** * @param args */ public static void main(String[] args) { //定义一个可以存放六个float类型的数组 float[] arr=new float[6]; //给数组的各个元数赋值 arr[0]=3; arr[1]=5; arr[2]=1; arr[3]=3.4f; arr[4]=2; arr[5]=50; //算总体重 float all=0; for(int i=0;i<6;i++) { all+=arr[i]; } System.out.println("总体重是:"+all); //定义一个size=5的int数组 int[] arr1; arr1=new int[5]; //如果你访问的数组范围大了 //arr[5]=10; //如何知道数组的大小 System.out.println("数组arr1的大小:"+arr1.length); //滑板比赛 float arr2[]={3,6,7.1f,1.1f,3}; float all2=0; for(int i=0;i<arr2.length;i++) { all2+=arr2[i]; } System.out.println("平均时间:"+(all2/arr2.length)); } } Class5 / com.test5_2 / Demo5_2.java: /* * 功能:对象数组的使用 */ package com.test1; import java.io.BufferedReader; import java.io.InputStreamReader; public class Demo5_2 { /** * @param args */ public static void main(String[] args) throws Exception { //定义一个可以存放四只狗的对象数组 Dog dogs[]=new Dog[4]; //创建一个能存放4只狗的Dog[]对象数组 /* //给各个狗赋初值 dogs[0]=new Dog();//将dogs[0]存放创建一只狗的空间的地址 dogs[0].setName("花花"); dogs[0].setWeight(4.5f); */ //从控制台输入各个狗的信息 InputStreamReader isr=new InputStreamReader(System.in);//IO流 BufferedReader br=new BufferedReader(isr);//将IO流转成Buffer流 for(int i=0;i<4;i++) { dogs[i]=new Dog(); System.out.println("请输入第"+(i+1)+"只狗的狗名:"); String name=br.readLine();//从控制台读取狗名 System.out.println("请输入第"+(i+1)+"只狗的体重:"); String s_weight=br.readLine();//从控制台读取体重 float weight=Float.parseFloat(s_weight);//将String转成float类型 //将名字赋给对象 dogs[i].setName(name); //将体重赋给对象 dogs[i].setWeight(weight); } //计算总体重 float allWeight=0; for(int i=0;i<4;i++) { allWeight+=dogs[i].getWeight(); } //计算平均体重 float avgWeight=allWeight/dogs.length; System.out.println("总体重="+allWeight+" 平均="+avgWeight); //找出体重最大的狗 //假设第一只狗体重最大 float maxWeight=dogs[0].getWeight(); int maxIndex=0; //依次比较狗的体重 for(int i=1;i<dogs.length;i++) { if(maxWeight<dogs[i].getWeight()) { //修改 maxWeight=dogs[i].getWeight(); maxIndex=i; } } System.out.println("体重最大的狗是第"+(maxIndex+1)+"只狗,其体重是:" +dogs[maxIndex].getWeight()); //输入狗的名字,查找它的体重 BufferedReader nam=new BufferedReader(isr); System.out.println("请输入想要查找体重的狗的名字:"); String dogName=nam.readLine(); for(int i=1;i<dogs.length;i++) { if(dogName.equals(dogs[i].getName())) { System.out.println(dogName+"的体重是:"+dogs[i].getWeight()); } } } /* * 数组总结: * 1.数组可存放同一类型数据 * 2.简单数据类型(int,float)数组,可直接赋值 * 3.对象数组定义后,赋值时需要再次为每个对象分配空间[即:new 对象] * 4.数组大小 必须事先指定 * 5.数组名可以理解为执行数组首地址的引用 * 6.数组的下标是从0开始编号的 */ } //定义一个狗类 class Dog { private String name; private float weight; public float getWeight() { return weight; } public void setWeight(float weight) { this.weight = weight; } public String getName() { return name; } public void setName(String name) { this.name = name; } } Class5 / com.test1 / Demo5_5.java: /* * 功能:二维数组 */ package com.test1; public class Demo5_5 { /** * @param args */ public static void main(String[] args) { int[][] a=new int[4][6]; a[1][2]=1; a[2][1]=2; a[2][3]=3; //把图形输出 //行 for(int i=0;i<4;i++) { //列 for(int j=0;j<6;j++) { System.out.print(a[i][j]+" "); } System.out.print("\n"); } } }
排序与查找
排序介绍
冒泡排序
选择排序
快速排序
Class5 / com.test1 / Demo5_3.java: /* * 功能:演示各种排序法 */ package com.test1; import java.util.Calendar; public class Demo5_3 { /** * @param args */ public static void main(String[] args) { int len=10; int[] arr=new int[len]; for(int i=0;i<len;i++) { //让程序随机产生一个1-10000的数 //int t=(int)(Math.random()*10000); int t=(int)(Math.random()*100); //Math.random()会随机产生一个0~1的数 arr[i]=t; } //int arr[]={1,6,0,-1,9,2,14,24,5}; //创建一个Bubble实例 Bubble bubble=new Bubble(); //在排序前打印系统时间 Calendar cal=Calendar.getInstance();//获得实例 System.out.print("冒泡排序前:"+cal.getTime()); bubble.sort(arr);//排序,通过引用修改arr数组的顺序 cal=Calendar.getInstance();//重新获得实例 System.out.print("\n冒泡排序后:"+cal.getTime()); //输出冒泡排序后的结果,打印有序数列 System.out.print("\n冒泡排序的结果:"); for(int i=0;i<arr.length;i++) { System.out.print(arr[i]+" "); } int a=12; bubble.test(a);//简单数据类型传到函数中,它的改变不会导致外面的修改 System.out.println("\n\na="+a); //----------------------------------------------------- //创建一个Select实例 Select select=new Select(); //在排序前打印系统时间 cal=Calendar.getInstance();//获得实例 System.out.print("\n选择排序前:"+cal.getTime()); //排序 select.sort(arr); cal=Calendar.getInstance();//重新获得实例 System.out.print("\n选择排序后:"+cal.getTime()); //输出选择排序后的结果,打印有序数列 System.out.print("\n选择排序的结果:"); for(int i=0;i<arr.length;i++) { System.out.print(arr[i]+" "); } //------------------------------------------------- //创建一个InsertSort实例 InsertSort is=new InsertSort(); //在排序前打印系统时间 cal=Calendar.getInstance();//获得实例 System.out.print("\n\n插入排序前:"+cal.getTime()); //排序 is.sort(arr); cal=Calendar.getInstance();//重新获得实例 System.out.print("\n插入排序后:"+cal.getTime()); //输出选择排序后的结果,打印有序数列 System.out.print("\n插入排序的结果:"); for(int i=0;i<arr.length;i++) { System.out.print(arr[i]+" "); } //------------------------------------------------- //创建一个QuickSort实例 QuickSort qs=new QuickSort(); //在排序前打印系统时间 cal=Calendar.getInstance();//获得实例 System.out.print("\n\n快速排序前:"+cal.getTime()); //排序 qs.sort(0,arr.length-1,arr); cal=Calendar.getInstance();//重新获得实例 System.out.print("\n快速排序后:"+cal.getTime()); //输出选择排序后的结果,打印有序数列 System.out.print("\n快速排序的结果:"); for(int i=0;i<arr.length;i++) { System.out.print(arr[i]+" "); } } } class Bubble { //测试 public void test(int a) { a++; } //冒泡排序 public void sort(int arr[]) { int temp=0; //外层循环,决定一共走几趟 for(int i=0;i<arr.length-1;i++) { //内层循环,开始逐个比较,如果发现前一个数比后一个数大,则交换 for(int j=0;j<arr.length-1-i;j++) { if(arr[j]>arr[j+1]) { //换位 temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } } } class Select { //选择排序 public void sort(int arr[]) { int temp=0;//临时变量 for(int j=0;j<arr.length-1;j++) //j<arr.length说明当只剩最后一个数没比较时,不必再比较了 { //假设第j个数是最小的数 int min=arr[j]; //记录最小数的下标 int minIndex=j; for(int k=j+1;k<arr.length;k++) //k<arr.length说明只剩两个数未比较时,最后一个数要参与比较 { if(min>arr[k]) { //修改最小 min=arr[k]; minIndex=k; } } //当退出内层for循环时,就找到这次的最小值 temp=arr[j]; arr[j]=arr[minIndex]; arr[minIndex]=temp; } } } //插入排序 class InsertSort { //插入排序方法 public void sort(int arr[]) { for(int i=1;i<arr.length;i++) { int insertVal=arr[i]; //insertVal准备和前一个数比较 int index=i-1; while(index>=0&&insertVal<arr[index]) { //将把arr[index]向后移动一位 arr[index+1]=arr[index]; //让index向前移动 index--; } //将insertVal插入到行当 位置 arr[index+1]=insertVal; } } } //快速排序 class QuickSort { public void sort(int left,int right,int[] array) { int l=left;//左边 int r=right;//右边 int pivot=array[(left+right)/2];//中间的作为隔板数 int temp=0; while(l<r) { while(array[l]<pivot) l++; while(array[r]>pivot) r--; if(l>=r) break; temp=array[l]; array[l]=array[r]; array[r]=temp; if(array[l]==pivot) --r; if(array[r]==pivot) ++l; } if(l==r) { l++; r--; } if(left<r) sort(left,r,array); if(right>l) sort(l,right,array); } } Class5 / com.test1 / Demo5_4.java: /* * 功能:二分查找 */ package com.test1; public class Demo5_4 { /** * @param args */ public static void main(String[] args) { int arr[]={2,5,7,12,25}; BinaryFind bf=new BinaryFind(); bf.find(0, arr.length-1, 4, arr); } } //二分查找 class BinaryFind { public void find(int leftIndex,int rightIndex,int val,int[] arr) { //首先找到中间的数 int midIndex=(rightIndex+leftIndex)/2; int midVal=arr[midIndex]; if(rightIndex>=leftIndex) { //如果要找的数比midVal大 if(midVal>val) { //在arr的左边数中找 find(leftIndex,midIndex-1,val,arr);//递归 } else if(midVal<val) { //在arr的右边的数找 find(midIndex+1,rightIndex,val,arr);//递归 } else if(midVal==val) { System.out.println("找到下标"+midIndex); } } else { System.out.println("没有找到!"); } } }
集合类及移位运算
Class7 / com.test1 / Demo7_1.java: /* * 功能:演示java集合的用法 */ package com.test1; import java.util.*; public class Demo7_1 { /** * @param args */ public static void main(String[] args) { //定数组 //Clerk []clerks=new Clerk[???]; //定义ArrayList对象 ArrayList al=new ArrayList(); //显示大小 System.out.println("al大小:"+al.size()); //向al中加入数据(类型是object) //创建一个职员 Clerk clerk1=new Clerk("宋江",50,1000); Clerk clerk2=new Clerk("吴用",45,1200); Clerk clerk3=new Clerk("林冲",35,1300); //将clerk1加入到al中 al.add(clerk1); al.add(clerk2); al.add(clerk3); //显示大小 System.out.println("al大小:"+al.size()); //如何访问al中对象(数据) //访问第一个对象 Clerk temp=(Clerk)al.get(0);//因为get返回的是一个object System.out.println("第一个名字是:"+temp.getName()); //遍历al所有的对象 System.out.println("删除前"); for(int i=0;i<al.size();i++) { Clerk temp1=(Clerk)al.get(i); System.out.println("名字是:"+temp1.getName()); } //从al中删除一个对象 al.remove(1);//删除吴用 System.out.println("=====删除吴用======"); //删除后 System.out.println("删除后"); for(int i=0;i<al.size();i++) { Clerk temp1=(Clerk)al.get(i); System.out.println("名字是:"+temp1.getName()); } } } //定义一个员工类 class Clerk { private String name; private int age; private float sal; 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; } public float getSal() { return sal; } public void setSal(float sal) { this.sal = sal; } public Clerk(String name,int age,float sal) { this.name=name; this.age=age; this.sal=sal; } } Class7 / com.test1 / Demo7_2.java: /* * 功能:做一个公司职员薪水管理系统,要求完成如下功能 : * 1.当有新员工时,将该员工加入到管理系统 * 2.可以根据员工号,显示该员工的信息 * 3.可以显示所员工信息 * 4.可以修改员工薪水 * 5.当员工离职时,将该员工从管理系统中删除 * 6.可以按照薪水从低到高顺序排序 * 7.可以统计员工的平均工资和最低、最高工资 */ package com.test1; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; public class Demo7_2 { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { //演示 String a=new String("abc"); String b=new String("abc"); if(a==b) { System.out.println("== ok"); } else if(a.equals(b)) { System.out.println("equals ok"); } else ; //创建EmpManage对象 EmpManage em=new EmpManage(); //Emp emptemp=new Emp(null,null,0); //定义一个BufferedReader流 BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); //作出一个简单菜单 while(true) { System.out.println("请选择你要进行的操作:"); System.out.println("1:表示添加一个雇员"); System.out.println("2:查找一个雇员"); System.out.println("3:显示所有雇员信息"); System.out.println("4:修改一个雇员工资"); System.out.println("5:删除一个雇员"); System.out.println("6:退出系统"); String operType=br.readLine(); if(operType.equals("1")) { System.out.println("请输入编号:"); String empNo=br.readLine(); System.out.println("请输入名字:"); String name=br.readLine(); System.out.println("请输入工资:"); float sal=Float.parseFloat(br.readLine()); Emp emp=new Emp(empNo,name,sal); Emp emptemp=em.addEmp(emp); //这里的"="相当于将返回的emp内存块直接复制一份给emptemp,即创建的同时 //也就初始化了,所心不必再考的emptemp内部的属性是private,还是public,"="相当于直接复制 System.out.println("=====添加"+emptemp.getName()+"成功!======\n"); } else if(operType.equals("2")) { System.out.println("请输入编号:"); String empNo=br.readLine(); //查找 Emp emptemp=em.showInfo(empNo); System.out.println("=====查找"+empNo+"("+emptemp.getName()+")"+"成功!======\n"); } else if(operType.equals("3")) { //显示所有员工信息 em.showAllInfo(); System.out.println("=====已列出!======\n"); } else if(operType.equals("4")) { System.out.println("请输入编号:"); String empNo=br.readLine(); System.out.println("请输入工资:"); float sal=Float.parseFloat(br.readLine()); //修改 Emp emptemp=em.updateSal(empNo, sal); System.out.println("=====修改"+empNo+"("+emptemp.getName()+")"+"工资成功!======\n"); } else if(operType.equals("5")) { System.out.println("请输入编号:"); String empNo=br.readLine(); //删除 Emp emptemp=em.delEmp(empNo); System.out.println("=====删除"+empNo+"("+emptemp.getName()+")"+"成功!======\n"); } else if(operType.equals("6")) { //退出系统 System.exit(0);//0表示正常退出JVM,非0表示异常退出JVM } } } } //雇员类 class Emp { //学号 private String empNo; private String name; private float sal; public String getEmpNo() { return empNo; } public void setEmpNo(String empNo) { this.empNo = empNo; } public String getName() { return name; } public void setName(String name) { this.name = name; } public float getSal() { return sal; } public void setSal(float sal) { this.sal = sal; } //构造函数 public Emp(String empNo,String name,float sal) { this.empNo=empNo; this.name=name; this.sal=sal; } } //雇员管理类 class EmpManage { private ArrayList al=null; public EmpManage() { al=new ArrayList(); } //加入员工 public Emp addEmp(Emp emp) { if(al.add(emp))//如果添加成功 return emp; else return null; } //显示指定员工的相关信息 public Emp showInfo(String empNo) { //遍历整个ArrayList for(int i=0;i<al.size();i++) { //取出Emp对象 Emp emp=(Emp)al.get(i); //比较编号 if(emp.getEmpNo().equals(empNo)); { System.out.println("找到该员工,他的信息是:"); System.out.println("编号="+emp.getEmpNo()); System.out.println("名字="+emp.getName()); System.out.println("工资="+emp.getSal()); return emp; } } return null; } //显示所有员工的信息 public void showAllInfo() { //遍历整个ArrayList for(int i=0;i<al.size();i++) { Emp emp=(Emp)al.get(i); System.out.print("编号:"+emp.getEmpNo()+" " +"名字:"+emp.getName()+" " +"工资:"+emp.getSal()+" "+"\n"); } } //修改工资 public Emp updateSal(String empNo,float newSal) { for(int i=0;i<al.size();i++) { Emp emp=(Emp)al.get(i); if(emp.getEmpNo().equals(empNo)) { //修改薪水 emp.setSal(newSal); return emp; } } return null; } //删除员工 public Emp delEmp(String empNo) { for(int i=0;i<al.size();i++) { Emp emp=(Emp)al.get(i); if(emp.getEmpNo().equals(empNo)) { al.remove(i);//按编号删除员工 al.remove(emp);//按对象删除员工 return emp; } } return null; } } Class7 / com.test1 / Demo7_3.java: /* * 功能:各种集合的使用 */ package com.test1; import java.util.HashMap; import java.util.Hashtable; import java.util.Iterator; import java.util.LinkedList; import java.util.Stack; import java.util.Vector; public class Demo7_3 { /** * @param args */ public static void main(String[] args) { //LinkedList的用法 LinkedList ll=new LinkedList(); Emp emp1=new Emp("sa01","宋江",1.2f); Emp emp2=new Emp("sa02","卢俊义",1.8f); Emp emp3=new Emp("sa03","吴用",1.5f); //表示把emp1加在链表的最前面 ll.addFirst(emp1);//向链表的当前结点的前面添加一个emp1结点 ll.addFirst(emp2);//前加 ll.addLast(emp3);//后加 for(int i=0;i<ll.size();i++) { System.out.println(((Emp)ll.get(i)).getName()); } //------------------------------------------------------ //Vector的用法 //Vector与ArrayList的区别 //1.Vector有同步机制,ArrayList没有同步机制 //2.ArrayList缺省情况下自动增长原来的一倍,Vector是原来的50%增长 Vector vv=new Vector(); Emp emp4=new Emp("1","林冲",1.6f); vv.add(emp4); for(int i=0;i<vv.size();i++) { Emp emp=(Emp)vv.get(i); System.out.println(emp.getName()); } //------------------------------------------------------ //栈的用法 Stack stack=new Stack(); Emp emp5=new Emp("8","李逵",1.9f); Emp emp6=new Emp("9","武松",1.7f); Emp emp7=new Emp("5","公孙胜",1.7f); stack.add(emp5); stack.add(emp6); stack.add(emp7); for(int i=0;i<stack.size();i++) { Emp emp=(Emp)stack.get(i); System.out.println(emp.getName()); } //------------------------------------------------------ //HashMap的用法 //创建一个HashMap对象 HashMap hm=new HashMap(); Emp emp8=new Emp("s001","秦平",2.2f); Emp emp9=new Emp("s002","花荣",2.3f); Emp emp10=new Emp("s002","燕青",2.4f); //将emp放入到 hm.put("s001", emp8); hm.put("s002", emp9); hm.put("s002", emp10);//出现键值相同时,会将emp10替换前面的 System.out.println(emp8.getName()); System.out.println(emp9.getName()); //如果要查找编号是s002 if(hm.containsKey("s002")) { System.out.println("-----------\n有该员工"); //如何取出,键<-->值 Emp emp=(Emp)hm.get("s002"); System.out.println("名字:"+emp.getName()); } else { System.out.println("-----------\n没有该员工"); } //遍历HashMap中所有的key和value Iterator it=hm.keySet().iterator();//迭代器 //hasNext返回一个boolean System.out.println("-------开始遍历HashMap!------"); while(it.hasNext())//hasNext判断是否还有下一个 { //取出Key String key=it.next().toString(); //通过Key取出value Emp emp=(Emp)hm.get(key); System.out.println("名字:"+emp.getName()); } //HashMap在多线程并发操作时,因为没有同步机制作, //可能会发生读脏数据,所以引入了安全的Hashtable //------------------------------------------------------ //Hashtable的用法 Hashtable ht=new Hashtable(); /* ht.put(null, null); System.out.println("Hashtable null值测试"+ht.get(null)); //Hashtable不可以存放空值 */ HashMap hm2=new HashMap(); hm2.put(null, null);//HashMap可以存放空值 System.out.println("HashMap null值测试:"+hm2.get(null)); //Hashtable不可以存放空值 /* * 集合总结: * 1.如果要求线程安全,使用Vector,Hashtable * 2.如果要求线程安全,使用ArrayList,LinkedList,HashMap * 3.如果要求键值对,则使用HashMap,Hashtable * 4.如果数据量很大,又要线程安全考虑Vector */ } } Class7 / com.test1 / Test1.java: /* * 功能:位运算和移位运算 */ package com.test1; public class Test1 { /** * @param args */ public static void main(String[] args) { System.out.println("~2="+(~2));//取反 System.out.println("2&3="+(2&3));//与 System.out.println("2|3="+(2|3));//或 System.out.println("~-5="+(~-5));//取反 System.out.println("-3^3="+(-3^3));//异或 //算术右移:低位溢出,符号位不变,并用符号位补溢出的高位 //算术左移:符号位不变,低位补0 //逻辑右移:低位溢出,高位补零 System.out.println("1>>2="+(1>>2)); System.out.println("-1>>2="+(-1>>2)); System.out.println("1<<2="+(1<<2)); System.out.println("-1<<2="+(-1<<2)); System.out.println("3>>>2="+(3>>>2));//逻辑右移 } }
发表评论
-
Java连接sql2005数据库三步曲
2012-12-27 10:48 719one、two、three 导入java包 import ja ... -
主题:Java面试122题 .
2012-12-27 10:17 8882012-06-05 09:17 592人阅读 ... -
Java六大必须理解的问题
2012-12-27 10:17 5252012-05-24 11:39 793人阅读 评论(6) 收 ... -
多线程知识点整理 .
2012-12-27 10:17 581基本概念 多线程程序 ... -
数据连接池的基本实现 .
2012-12-26 13:20 8551、 实现途径: 编写JdbcPool implemen ... -
java 常用三大集合类
2012-11-23 11:07 13775一、Set集合,其主要实现类有HashSet、TreeSet。 ... -
Java笔记9(Java网络编程)
2012-10-16 14:39 740Java基础9 Java基础9 1 文件结构 ... -
Java笔记8(jdbc-odbc、jdbc、JTable使用、Min版学生管理系统)
2012-10-16 14:34 1445Java基础8 Java基础8 1 文件结构 ... -
swing编程实现闪屏登录效果
2012-09-18 12:07 27441、先写一个闪屏类 package com.mhl.Tools ... -
paint和paintComponent方法的关系
2012-09-18 09:50 943关键词:swing,paint,paintComp ... -
Java笔记7(IO操作、图片拷贝、记事本、测试声音、坦克大战)
2012-08-23 15:05 1051File类的基本用法_Demo12_1.java /* ... -
Java笔记6(多线程、机票售票系统、坦克大战)
2012-08-23 14:39 1622多线程Demo10_1.java /* * 演 ... -
Java笔记5(java绘图原理、事件处理机制、监听器、坦克大战)
2012-08-23 14:30 2859java绘图原理Demo9_1.java /* ... -
java中equals和==的区别
2012-08-17 10:33 17535ava中equals和==的区别 值类型是存储在内存中的堆栈( ... -
Java笔记4(布局管理器、常用组件、qq聊天界面、记事本)
2012-08-13 14:12 3399文件结构 布局管理器Demo8_1.java pa ... -
Java笔记3(泛型、异常、成绩评分程序)
2012-08-09 10:31 1057文件结构 泛型与异常 异常 Class7b / c ... -
Java笔记1(java类、接口、封装、继承、多态、约瑟夫环应用)
2012-08-09 10:26 1067文件结构 Java访问修饰符 com.xiaoming ...
相关推荐
Java-笔记-数组和排序-全
【Java 数组基础】 Java 数组是编程中最基础的数据结构之一,它允许存储同一类型的多个数据。数组由一系列元素组成,每个元素都有一个唯一的索引值,从0开始递增。数组一旦创建,其大小是固定的,无法动态扩展。...
在学习JavaScript中,做的笔记,关于数组排序的,具体是按字母升序排序,按数字升序或降序排序。如有需要,请自行下载。
Arrays 类包含了:排序、查找、填充、打印内容等常见的操作。 4. 多维数组 多维数组可以看成以数组为元素的数组。可以有二维、三维、甚至更多维数组,但是实际开发中用的非常少。最多到二维数组(学习容器后,我们...
在本Java学习笔记中,我们将深入探讨数组和排序算法这两个核心概念,它们是任何程序员学习Java编程时的基础。数组是存储固定数量同类型元素的数据结构,而排序算法则是对数组中的元素进行排列的方法。让我们详细了解...
在这个暑假培训学习笔记中,我们将深入理解Java数组的各个方面,包括定义、初始化、操作以及数组的高级特性。 1. **数组的定义** 在Java中,数组是对象,它包含了相同类型的变量集合。数组的类型必须在声明时指定...
本学习笔记主要涵盖了四个关键主题:数组方法、数组排序、数组形状以及对角线操作。以下是对这些知识点的详细阐述。 **一、数组方法** Python中的数组通常通过numpy库实现,numpy提供了强大的ndarray对象。数组...
力扣题库刷题笔记34-在排序数组中查找元素的第一个和最后一个位置
### Java基础复习笔记01:数组、内存形式、父子关系及内存控制 #### 1. 前言 本文档旨在回顾并总结Java基础知识中关于数组、内存管理、对象继承等核心概念的理解与实践。作者希望通过这篇笔记加深对Java基础理论的...
C语言笔记——数组 在这篇笔记中,我们将探讨C语言中的数组,包括数组的定义、引用、初始化和操作等方面的知识点。 一维数组 在C语言中,数组是一种数据结构,是把具有相同数据类型的若干变量按照一定顺序组织...
集合类通常位于`java.util`包下,是Java程序员必备的知识点。 1. **集合的概述** - **集合的由来**:集合是为了处理数量不确定的数据和具有映射关系的数据而设计的。在Java中,集合可以保存对象的引用,而数组则...
数组排序扩容查角标操作.java
这篇学习笔记将深入探讨Java集合框架的基础概念、主要类库以及常见应用场景。 首先,Java集合框架分为两种基本类型:List(列表)和Set(集)。List接口代表有序的集合,允许重复元素,如ArrayList和LinkedList;而...
### 数组和集合的学习笔记 #### 一、概述 在Java编程语言中,数组和集合是数据存储与操作的...通过以上学习,我们可以了解到Java中数组和集合的不同实现类各有特点,在实际开发过程中应根据具体需求选择合适的类型。
前端学习笔记,做一个简单的网站-数组排序
8. **集合框架**:Java集合框架是处理对象集合的重要工具,包括List、Set、Queue等接口,以及ArrayList、LinkedList、HashSet、HashMap等实现类。这部分会详细介绍它们的使用场景和操作方法。 9. **IO流**:IO流是...