Skip to content

Commit 0d4552d

Browse files
committed
1.65
1 parent ce5e55c commit 0d4552d

File tree

6 files changed

+192
-13
lines changed

6 files changed

+192
-13
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
package dev.felnull.fnjl;
22

33
public class FNJLBuildIn {
4-
protected static final String VERSION = "1.64";
4+
protected static final String VERSION = "1.65";
55
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package dev.felnull.fnjl.concurrent;
2+
3+
/**
4+
* イキスギたExecutor
5+
*
6+
* @author MORIMORI0317
7+
* @since 1.65
8+
*/
9+
public class IkisugiExecutors {
10+
/**
11+
* 呼び出しExecutorを作成
12+
*
13+
* @return InvokeExecutor
14+
*/
15+
public static InvokeExecutor newInvokeExecutor() {
16+
return new InvokeExecutor();
17+
}
18+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package dev.felnull.fnjl.concurrent;
2+
3+
import org.jetbrains.annotations.NotNull;
4+
5+
import java.util.concurrent.ConcurrentLinkedQueue;
6+
import java.util.concurrent.Executor;
7+
8+
/**
9+
* 呼び出されたときにタスクを実行するExecutor
10+
*
11+
* @author MORIMORI0317
12+
* @since 1.65
13+
*/
14+
public class InvokeExecutor implements Executor {
15+
private final ConcurrentLinkedQueue<Runnable> tasks = new ConcurrentLinkedQueue<>();
16+
17+
@Override
18+
public void execute(@NotNull Runnable command) {
19+
tasks.add(command);
20+
}
21+
22+
/**
23+
* タスクを実行する
24+
*/
25+
public void runTasks() {
26+
while (!tasks.isEmpty())
27+
tasks.poll().run();
28+
}
29+
}
Lines changed: 142 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,177 @@
11
package dev.felnull.fnjl.util;
22

33
import java.util.Arrays;
4+
import java.util.Objects;
45

56
public class FNArrayUtil {
7+
/**
8+
* 配列の最後に値を追加
9+
*
10+
* @param array 配列
11+
* @param element 新しい値
12+
* @param <T> 型
13+
* @return 追加済み配列
14+
*/
615
public static <T> T[] add(T[] array, T element) {
716
T[] n = Arrays.copyOf(array, array.length + 1);
817
n[array.length] = element;
918
return n;
1019
}
1120

12-
public static int[] add(int[] array, int element) {
21+
/**
22+
* 配列の最後に値を追加
23+
*
24+
* @param array 配列
25+
* @param value 新しい値
26+
* @return 追加済み配列
27+
*/
28+
public static int[] add(int[] array, int value) {
1329
int[] n = Arrays.copyOf(array, array.length + 1);
14-
n[array.length] = element;
30+
n[array.length] = value;
31+
return n;
32+
}
33+
34+
/**
35+
* 配列の最後に値を追加
36+
*
37+
* @param array 配列
38+
* @param value 新しい値
39+
* @return 追加済み配列
40+
*/
41+
public static float[] add(float[] array, float value) {
42+
float[] n = Arrays.copyOf(array, array.length + 1);
43+
n[array.length] = value;
1544
return n;
1645
}
1746

47+
/**
48+
* 配列の最後に配列を追加
49+
*
50+
* @param array 配列
51+
* @param elements 追加する配列
52+
* @param <T> 型
53+
* @return 追加済み配列
54+
*/
1855
public static <T> T[] add(T[] array, T[] elements) {
1956
T[] n = Arrays.copyOf(array, array.length + elements.length);
2057
System.arraycopy(elements, 0, n, array.length, elements.length);
2158
return n;
2259
}
2360

24-
public static int[] add(int[] array, int[] elements) {
25-
int[] n = Arrays.copyOf(array, array.length + elements.length);
26-
System.arraycopy(elements, 0, n, array.length, elements.length);
61+
/**
62+
* 配列の最後に配列を追加
63+
*
64+
* @param array 配列
65+
* @param values 追加する配列
66+
* @return 追加済み配列
67+
*/
68+
public static int[] add(int[] array, int[] values) {
69+
int[] n = Arrays.copyOf(array, array.length + values.length);
70+
System.arraycopy(values, 0, n, array.length, values.length);
2771
return n;
2872
}
2973

74+
/**
75+
* 配列の最後に配列を追加
76+
*
77+
* @param array 配列
78+
* @param values 追加する配列
79+
* @return 追加済み配列
80+
*/
81+
public static float[] add(float[] array, float[] values) {
82+
float[] n = Arrays.copyOf(array, array.length + values.length);
83+
System.arraycopy(values, 0, n, array.length, values.length);
84+
return n;
85+
}
86+
87+
/**
88+
* 配列に指定の値が含まれるかどうか確認
89+
*
90+
* @param array 配列
91+
* @param element 値
92+
* @param <T> 型
93+
* @return 含まれるかどうか
94+
*/
3095
public static <T> boolean contains(T[] array, T element) {
3196
for (T t : array) {
32-
if (element.equals(t))
33-
return true;
97+
if (Objects.equals(t, element)) return true;
3498
}
3599
return false;
36100
}
37101

38-
public static boolean contains(int[] array, int element) {
102+
/**
103+
* 配列に指定の値が含まれるかどうか確認
104+
*
105+
* @param array 配列
106+
* @param value 値
107+
* @return 含まれるかどうか
108+
*/
109+
public static boolean contains(int[] array, int value) {
39110
for (int t : array) {
40-
if (element == t)
41-
return true;
111+
if (value == t) return true;
112+
}
113+
return false;
114+
}
115+
116+
/**
117+
* 配列に指定の値が含まれるかどうか確認
118+
*
119+
* @param array 配列
120+
* @param value 値
121+
* @return 含まれるかどうか
122+
*/
123+
public static boolean contains(float[] array, float value) {
124+
for (float t : array) {
125+
if (value == t) return true;
42126
}
43127
return false;
44128
}
129+
130+
/**
131+
* 配列の指定場所に値を追加し、押し出す
132+
*
133+
* @param array 配列
134+
* @param index 指定場所
135+
* @param element 値
136+
* @param <T> 型
137+
* @return 追加済み配列
138+
*/
139+
public static <T> T[] insert(T[] array, int index, T element) {
140+
T[] n = Arrays.copyOf(array, array.length + 1);
141+
System.arraycopy(array, index, n, index + 1, array.length - index);
142+
n[index] = element;
143+
return n;
144+
}
145+
146+
/**
147+
* 配列の指定場所に値を追加し、押し出す
148+
*
149+
* @param array 配列
150+
* @param index 指定場所
151+
* @param value 値
152+
* @return 追加済み配列
153+
*/
154+
public static int[] insert(int[] array, int index, int value) {
155+
int[] n = new int[array.length + 1];
156+
System.arraycopy(array, 0, n, 0, index);
157+
System.arraycopy(array, index, n, index + 1, array.length - index);
158+
n[index] = value;
159+
return n;
160+
}
161+
162+
/**
163+
* 配列の指定場所に値を追加し、押し出す
164+
*
165+
* @param array 配列
166+
* @param index 指定場所
167+
* @param value 値
168+
* @return 追加済み配列
169+
*/
170+
public static float[] insert(float[] array, int index, float value) {
171+
float[] n = new float[array.length + 1];
172+
System.arraycopy(array, 0, n, 0, index);
173+
System.arraycopy(array, index, n, index + 1, array.length - index);
174+
n[index] = value;
175+
return n;
176+
}
45177
}

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
fnjl_group=dev.felnull
22
fnjl_name=felnull-java-library
3-
fnjl_version=1.64
3+
fnjl_version=1.65
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package dev.felnull.fnjln;
22

33
public class FNJLNBuildIn {
4-
protected static final String VERSION = "1.64";
4+
protected static final String VERSION = "1.65";
55

66
protected static final int NATIVE_LIBRARY_VERSION = 1;
77
}

0 commit comments

Comments
 (0)