欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

三.心得

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

相关标签: java