折纸的不归路(13)

一.内部类的相关代码

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();
这里的程序实现还搞懂,周末再进行补充

三.心得

今天第一节课还可以,在内部类的相关内容上没有什么问题,但是第二节课的链表方面就比较摸不着头脑了,只能先写一个大纲,然后后面再找时间补充相关内容.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值