Как реализовать функции высшего порядка в Java?
Через интерфейсы, например, Callable.
public MatrixDto getContent(Callable<List<Content>> function) {
    ...
    final List<Content> list = function.call();
    ...
}

// а вызывать так:
getContent(new Callable<List<Content>>() {
    public List<Content> call() { return contentDao.x(a, b); }
});

Посмотрите в Google Guava docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/base/Function.html

Хотя я все чаще считаю, что функции высшего порядка в джаве ни к чему хорошему не приведут, только захламлят код из-за многословности языка. Почти всегда императивный код в джаве выглядит лучше и понятнее, чем т.н. «функциональный». 

Попробуйте сравнить, и вы поймете. Мессиво из анонимных классов — не самый лучший код для чтения и понимания.