折纸的不归路(13)
程序员文章站
2024-03-18 12:47:58
...
一.内部类的相关代码
package day11;
public class InnerTest {
public static void main(String[] args) {
//实例化对象
AnonyType at = new AnonyType();
Apple a = new Apple();
at.display(a);
//匿名内部类
at.display(new Fruit() {
@Override
public void eat() {
// TODO Auto-generated method stub
System.out.println("吃香蕉");
}
@Override
public void func() {
// TODO Auto-generated method stub
}
});
}
}
interface Fruit{
//吃
void eat();
//
void func();
}
class AnonyType{
public void display(Fruit f) {
f.eat();
}
}
class Apple implements Fruit{
@Override
public void eat() {
// TODO Auto-generated method stub
System.out.println("吃苹果");
}
@Override
public void func() {
// TODO Auto-generated method stub
System.out.println("长身体");
}
}
2.维护一个内部类,计算一个数组内的最大值和最小值,同时返回
package com.briup.day11;
public class MInMaxTest {
public static void main(String[] args) {
int[] array = new int[] {1,2,3,4,5,6,7};
MinMax mm = MInMaxTest.getMinAndMax(array);
//输出最大值和最小值
System.out.println(mm.getMax());
System.out.println(mm.getMin());
//输出和
System.out.println(mm.getSum());
}
//该类中维护一个保存了最大值和最小的内部类
static class MinMax{
int min;
int max;
int sum;
int avg;
int center;
public MinMax(int min , int max) {
this.min = min;
this.max = max;
}
public void setSum(int sum) {
this.sum = sum;
}
public int getSum() {
return sum;
}
public int getMin() {
return min;
}
public int getMax() {
return max;
}
}
//外部类维护一个获得最大值和最小值的方法
public static MinMax getMinAndMax(int[] array) {
int min = array[0];//默认数组中第一个元素是最小值
int max = array[0];//默认数组中第一个元素是最大值
int sum = 0; //统计数组中的和的
//计算一下最大值和最小值
for(int i=0;i<array.length;i++) {
if(min > array[i]) min = array[i];
if(max < array[i]) max = array[i];
sum+=array[i];
}
MinMax mm = new MinMax(min, max);
mm.setSum(sum);
return mm;
}
}
二.集合
一.数据结构
作用:维护一组数据的存储和检索
链式
数组–>
链表–>单项
假设去制定一套数据结构的规则 —> 接口
List
尾部添加
void add(Object obj);
指定位置添加
void add(int index,Object obj);
指定位置删除
Object remove(int index);
获取指定位置上的数据
Object get(int index);
修改指定位置上的数据
void set(int index , Object obj);
获得当前数据结构的迭代器
Iterator iterator();
迭代器(接口) —> Iterator
判断有没有下个元素
boolean hasNext();
获取下一个元素
Object next();
从尾部删除一个元素
Object remove();这里的程序实现还搞懂,周末再进行补充
三.心得
今天第一节课还可以,在内部类的相关内容上没有什么问题,但是第二节课的链表方面就比较摸不着头脑了,只能先写一个大纲,然后后面再找时间补充相关内容.