java模拟js高阶函数

原创 2013年12月04日 09:57:38

最近看了js的一个“高阶函数”的概念,作者呢也做了一个例子,我觉得很不错,就摘抄下来了,

个人觉得代码很简单,但是思想很重要

代码如下:

package hb.main;

import hb.interfaces.Function;
import hb.tools.List;

public class TestFunction {

	public static void main(String[] args) {
		
		List list = new List(new int[]{1, 2, 3, 4, 5});
		
		list.print();
		
		list.map(new Function(){
			public int execute(int x){
				return x * 2;
			}
		});
		
		list.print();
		
	}

}

 

package hb.tools;

import hb.interfaces.Function;

public class List {
	
	private int[] array;
	
	public List(int[] array){
		this.array = array;
	}
	
	public void map(Function func){
		for(int i = 0, len = this.array.length; i < len; i++){
			this.array[i] = func.execute(this.array[i]);
		}
	}
	
	public void print(){
//		System.out.println(this.array.toString());
		StringBuffer sb = new StringBuffer();
		sb.append("[");
		for(int i = 0; i < this.array.length; i++){
			sb.append(this.array[i]);
			if(this.array.length-1!=i){
				sb.append(",");
			}
		}
		sb.append("]");
		System.out.println(sb);
	}
}

 

package hb.interfaces;

public interface Function {
	public int execute(int x);
}

 

 

 

 

  • hb.rar (979 Bytes)
  • 下载次数: 0

相关文章推荐

JS部分高阶函数的运用及解析

简单介绍几个js高阶函数实现的功能,包括AOP(切面编程), currying(柯里化), throttle(节流), timeChunk(分块)四个函数功能,主要思想是闭包与this的概念,建议理解...

JS学习之五---高阶函数

高阶函数英文叫Higher-order function。JavaScript的函数其实都指向某个变量。既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就...

[前端] js高阶函数

在这里所谓高阶函数,只是对函数方法进行组装和进阶。。。  1、sort() 对数组进行排序 document.write([1,2,5,4].sort()); 这是最简单不过的数组排序语句了。...

js高阶函数部分应用

据《JavaScript设计模式与开发实践一书》的定义,高阶函数是指至少满足以下条件之一的函数: 1.函数可以作为函数被传递 2.函数可以作为返回值被输出...

js高阶函数

js高阶函数在介绍什么是高阶函数之前,先看一下高阶函数的两个特点,了解这两个特点了,也就知道什么是高阶函数了(是不是废话- -!) 函数可以作为参数被传递 函数可以作为返回值输出 现在知道什么是高阶函...

Java 高阶函数的简单使用:map,reduce,filter,sorted

package cn.test;import java.util.ArrayList; import java.util.IntSummaryStatistics; import java.util....

JAVA 8函数式编程(一):高阶函数

函数式编程的核心在高阶函数与偏函数,在JAVA 8中,提供了很多函数式的接口,但跟Python、Javascript的函数相比较,还是存在较大的距离。首先看一个高阶函数的例子,这里利用局部变量域特性,...
  • yiifaa
  • yiifaa
  • 2017年06月18日 20:26
  • 965

常用高阶函数:转换

  • 2017年06月09日 14:00
  • 93KB
  • 下载

java模拟js的escape和unescape函数

/** * java模拟js的escape和unescape函数. * * */ public class JSEscape { private static String[...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java模拟js高阶函数
举报原因:
原因补充:

(最多只允许输入30个字)