如何通过Java中的不同参数对集合进行子集化?

时间:2015-08-09 08:50:38

标签: java collections subset

我想通过指定一些参数来获取Java List的元素子集。每个元素具有不同的特征,例如x位置,y位置,宽度,高度和类型。现在我想得到所有元素,哪个位置在特定的区间内,或者哪个宽度或高度不大于给定值,或者哪个类型等于某个String。

我的实际解决方案是,我写了一堆子集() - 在每种不同情况下应用的函数。

public List<Element> subsetByPositionX(
    List<Element> elements, int minX, int maxX) { /*...*/ }

public List<Element> subsetByPositionY(
    List<Element> elements, int minY, int maxY) { /*...*/ }

public List<Element> subsetByMaxWidth(
    List<Element> elements, int maxWidth) { /*...*/ }

// some more subset methods for height and width

public List<Element> subsetByType(
    List<Element> elements, String... types) { /*...*/ }

我有点不走运,因为它不是很通用。是否有更优雅的方式通过不同类型的特征来子集元素?

0 个答案:

没有答案