JAVA関連のことを調べてみた2023年07月16日

JAVA関連のことを調べてみた2023年07月16日

ABC310A~Eの解答[Java]

## はじめに
今回はコンテスト中にEまで解けたのでそれを載せようと思います。

では、見ていきましょう。
なお、僕のライブラリは[提出結果](https://atcoder.jp/contests/abc310/submissions?f.Task=&f.LanguageName=Java&f.Status=AC&f.User=viral)よりご確認ください。

## A – Order Something Else
問題文は[こちら](https://atcoder.jp/contests/abc310/tasks/abc310_a)

$\mathrm{min}(P,Q+D_i)$を求めて出力してあげれば良いです。
“`A.java
final class Main {

private static final boolean autoFlush = false;
private static final SimpleScanner sc = new SimpleScanner( System.in );
private static final SimplePrin

元記事を表示

Iteratorインタフェース

## Iteratorインタフェース
Iteratorインタフェースは、Javaのコレクションフレームワークにおいて、コレクション内の要素に順番にアクセスするためのメソッドを提供するインタフェースです。
コレクションの要素に対して安全な反復処理: Iteratorはコレクション内の要素に対して安全な反復処理を行うことができます。Iteratorを使用することで、コレクション内の要素を逐一アクセスすることができます。これにより、コレクション内の要素に対して一貫した方法で反復処理を行うことができます。

### 主なメソッド
| メソッド| 意味 |
| — | — |
| hasNext |次の要素が存在するか判定する。あればtrue、なければfalse
| next | 次の要素を取得する |
|remove|現在の要素を削除する|

“`java
public class hasNext {
public static void main(String[] args) {
ArrayList animal = new ArrayLis

元記事を表示

MacにEclipseを簡単にインストールする方法

# はじめに
帝京大学理工学部の授業でEclipseを使用することになったので、Eclipseをインストールしました。

「Pleiades All in One」という、統合開発環境である Eclipse 本体と、日本語化を行うための Pleiades プラグインおよびプログラミング言語別に便利なプラグインをまとめた Windows、Mac 向けパッケージがあったので、そちらをインストールした手順になります。

# 1.パッケージをダウンロード
[こちら](https://mergedoc.osdn.jp/)からサイトにアクセスします。
最新版をダウンロードするので、赤枠のEclipseを2023をクリックします。

また、違うバージョンをダウンロードしたい方は、2022,2011をダウンロードしてください。

![スクリーンショット 2023-07-15 20.06.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608795/a8fc077a-a948-53b4-311a-5bc4a84b55

元記事を表示

Javaのインストールと環境設定の確認をしてみた

# 概要
Javaのインストールと環境設定の確認をしてみました。以下のページを参考にしました。

https://www.javadrive.jp/start/install/

# 順番に以下のページを確認

https://www.javadrive.jp/start/install/index5.html

https://www.javadrive.jp/start/install/index1.html

https://www.javadrive.jp/start/install/index4.html

https://www.javadrive.jp/start/install/index3.html

# 私の環境はUbuntuなので以下で一発設定完了
“`
sudo apt install openjdk-8-jdk
“`
以下のコマンドでインストールされているのを確認できます。
“`
sudo apt search openjdk
openjdk-8-jdk/jammy-security,jammy-updates,now 8u372-ga~us1-0u

元記事を表示

[Java] ArrayList

# ArryaListとは
* リスト構造でデータを格納できる入れ物クラス
* 大きさが決まっていない(配列と違い可変)

# ArryaListの使い方
### 初期化
“`java : 初期化
ArrayList<型> 変数名 = new ArrayList<>();
“`
* 右辺の<>の型名は省略可能

### 要素の格納
* add()メソッドを使う
“`java:格納
List samplelist = new ArrayList<>();
samplelist.add(“リンゴ”);
samplelist.add(“ゴリラ”);
samplelist.add(“ラーメン”);
“`

### 要素の取得
* get()メソッドを使う
“`java:取得
System.out.println(samplelist.get(0)); // “リンゴ”
System.out.println(samplelist.get(1)); // “ゴリラ”
System.out.println(samplelist.get(2)); // “ラーメン”

元記事を表示

【JavaGold】newScheduledThreadPoolメソッド

## 概要
指定された数のスレッドを持つスケジュール可能なスレッドプールを作成するための静的メソッド。

##### 例

“`java
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

public class ScheduledThreadPoolExample {

public static void main(String[] args) {
ScheduledExecutorService executorService = Executors.newScheduledThreadPool(3);

// タスクをスケジュール
executorService.schedule(() -> {
System.out.println(“Task 1 executed after 2 se

元記事を表示

【JavaGold】newSingleThreadScheduledExecutorメソッド

## 概要
単一のスレッドを持つスケジュール可能なスレッドプールを作成するためのメソッド。

##### 例

“`java
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;

public class SingleThreadScheduledExecutorExample {

public static void main(String[] args) {
ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();

// タスクをスケジュール
executorService.schedule(() -> {
System.out.println(“Task executed

元記事を表示

@Autowiredは何がうれしいのか?

spring boot で、@Autowired アノテーションは何がうれしいのか?
都度、new する書き方だと何が不便なのか?がよくわからなかったため、調べたことをメモします。
DIコンテナがどうこう、という難しいことは一旦触れないで、直感的にわかりやすい部分だけ説明します。

## @Autowiredを使わない場合と、使う場合を比較

例えば、下記のような依存関係にある 3つのクラス Application, BusinessService, DatabaseService を比較します。ここでいう「依存」とは、クラスの引数に別のクラスのインスタンスをとっている、という意味です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1605263/30a70ee5-a942-13c5-8c23-0a6280d3215b.png)

“`java:@Autowiredを使わない場合
public class DatabaseService {
public void sav

元記事を表示

Redisのクラスターモードで、mgetコマンドを使用してキーの一括値を取得する際の問題の解決策について説明します

Redisのクラスターモードにおいて、mgetコマンドを使用して複数のキーに対応する値のセットを一括で取得する必要がありましたが、値の取得時に次のエラーが発生しました:”ERR CROSSSLOT Keys in request don’t hash to the same slot”。これを日本語に翻訳すると、「リクエスト内のこれらのキーは同じスロットにハッシュされていません」という意味です。つまり、Redisのクラスターモードでは、ハッシュ分割が行われるため、データを挿入するたびにRedisは自動的に各データが属するスロットを計算します。また、各スロットが異なるノードに存在する可能性もあるため、mgetを使用する際には、このバッチのキーが異なるノードに存在する場合に値を取得できなくなります。

Redisがデータのスロット位置を計算するアルゴリズムに基づいて考えると([原文はこちら](https://juejin.cn/post/7045122646958161950))、次のようなコードが使われます。

“`java
unsigned int HASH_SLOT(char *k

元記事を表示

Easy ExcelでWrite操作を行う際のセルの結合方法は以下の通りです。

`@ExcelMerge`(自分で追加した):
“`java
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface ExcelMerge {

}
“`

`MergeHandler`:
“`java
public class CustomAbstractMergeStrategy implements WorkbookWriteHandler {

/**
* 結合する行数
*/
private List mergeRowCountList;

/**
* 結合が必要な列のインデックス
*/
private List mergeColumnIndexList;

/**
* オブジェクト
*/
private Class clazz;

/**
* セルの結合ルール:

元記事を表示

Javaを学んでみたPart2【随時更新】

前回[Javaを学んでみた【随時更新】](https://qiita.com/Neko-wo-kau/items/fb5864d17046c1be8583 “Javaを学んでみた【随時更新】”)が長くなりすぎて、書きにくい&重くなってきたので、わけることにしました。やること、書いていくことは以前と変わりません。頑張るぞー:muscle::fire:

## 5章・メソッド
**〜7/17までに更新予定**

## 6章・複数クラスを用いた開発
**〜7/20までに更新予定**
## 7章・オブジェクト指向をはじめよう
**〜7/23までに更新予定**
## 8章・インスタンスとクラス
**〜7/26までに更新予定**
## 9章・さまざまなクラス機構
**〜7/29までに更新予定**
##

元記事を表示

【C#VB.NET】PDF文書に表を作成

表は、通常のテキストよりも視覚的にデータを提示することができます。 PDF文書に表を挿入することで、読者はデータ間の関係を理解しやすくなり、その結果、データに基づいて文書を深く理解することができます。 さらに、表は視覚的にも魅力的です。 表の書式を設定することで、読者に深い印象を残すことができるのです。 この記事では、[Free Spire.PDF for .NET](https://jp.e-iceblue.com/introduce/free-spire-pdf-for-net.html)を使って**PDF文書に表を作成する方法**を紹介します。
– **[PdfTableクラスでPDF文書に表を作成する](#pdftableクラスでpdf文書に表を作成する)**
– **[PdfGridクラスでPDF文書内に表を作成する](#pdfgridクラスでpdf文書内に表を作成する)**

Free Spire.PDF for .NETは、PDF文書で表を扱うために**PdfTable**と**PdfGrid**という2つのクラスを提供しています。 それぞれの違いは以下の通りです。

|

元記事を表示

[Java] Object型

# はじめに
## Object型とは
* Javaの全てのクラスのスーパークラスとなる特殊な型(創造主)
* Object型変数はどんな型のオブジェクトでも参照できる

# 使い方

“`java:代入
Object obj1 = “Hello”; // 文字列を代入
Object obj2 = 10; // 整数を代入
“`

“`java:取得
Object obj = “Hello”;
String str = (String) obj; // 動的な型キャストを行い、オブジェクトを元の型に戻す
“`

# おわり
* こういうのがあるんだ程度だから使ったり調べたりして覚える

元記事を表示

[GCP] Cloud Run 機能調査x実装

[Cloud Run](https://cloud.google.com/run)は、Google Cloud Platform(GCP)のサーバーレスコンピューティングプラットフォームであり、コンテナ化されたアプリケーションを実行するための環境を提供している。以下にCloud Runの概要と主な機能について説明する。

## Cloud Runの概要
Cloud Runは、ステートレスなコンテナによって構成されるアプリケーションの実行を可能にします。Cloud Runでは、コンテナイメージを提供してアプリケーションをデプロイするだけでなく、自動スケーリング、リクエストトリガー、イベントの統合などの機能を利用することができる。また、Cloud RunはKnativeの上に構築されており、ノードレスなアプリケーション実行環境として機能する。

## Cloud Runの機能
### 1. ステートレスな実行環境
Cloud Runはステートレスなコンテナ実行環境であり、ステートフルなコンポーネントを含むアプリケーションを実行することはできない。ステートレスな実行環境のため、インスタンスの

元記事を表示

【JavaGold】scheduleWithFixedDelayメソッド

## 概要
指定された初期遅延時間(最初の実行までの遅延時間)の後にタスクを実行し、前のタスクの終了から指定された遅延時間が経過するごとにタスクを繰り返し実行するためのメソッドである。

つまり、前のタスクの終了から次の処理の実行までの遅延時間を指定することで、次の処理との間隔を一定にすることができる。 

“`java
ScheduledFuture scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit)
“`
##### 引数について
このメソッドは、`Runnable`オブジェクト(または`Callable`オブジェクト)を受け取る。

– `initialDelay`:初期遅延時間(最初の実行までの遅延時間)
– `delay`:前のタスクの終了から次のタスクの実行までの遅延時間
– `unit`:遅延時間の単位を表す`TimeUnit`列挙型

##### 例

“`java
import java.util.concurrent.Executor

元記事を表示

【JavaGold】scheduleAtFixedRateメソッド

## 概要
指定された初期遅延時間(最初の実行までの遅延時間)の後にタスクを実行し、その後一定の間隔でタスクを繰り返し実行するためのメソッド。

“`java
ScheduledFuture scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit)
“`
##### 引数について
このメソッドは、`Runnable`オブジェクト(または`Callable`オブジェクト)を受け取る。
– `initialDelay`:初期遅延時間
– `period`:インターバル時間(タスクの繰り返し実行の間隔)
– `unit`:遅延時間と間隔の単位を表す`TimeUnit`列挙型

##### 例
“`java
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

p

元記事を表示

使用率表示

~~~Java
import org.springframework.boot.actuate.system.DiskSpaceHealthIndicator;
import org.springframework.boot.actuate.system.DiskSpaceHealthIndicatorProperties;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class DiskUsageController {

private final DiskSpaceHealthIndicator diskSpaceHealthIndicator;
private final DiskSpaceHealthIndicatorProperties properties;

public DiskUsageContro

元記事を表示

ドメイン駆動設計を参考にしながらJava×SpringBootで家計管理アプリを自作

# 1. はじめに
### 1-1. 簡単な自己紹介
事務系の仕事をしておりましたが、プログラミングに興味を持ち、在職中から独学でJavaを学習していました。
現在は退職し、IT業界への就職を目指して活動中です。
退職後の期間にSpringBootを使ってアプリケーションを作成したので、アプリの概要や作成しながら考えたことなどについてまとめました。

# 2. アプリの概要
簿記の考え方を取り入れた家計管理アプリです。
一般的な家計簿というよりは、個人向けのちょっとした会計アプリといったほうが適切な表現かもしれません。
日々のお金のやり取りを「仕訳」という形で記録し、それを元に月の収支や資産・負債の残高を把握します。

GitHubリポジトリ:https://github.com/wtbyt298/myaccountbook

![スクリーンショット 2023-07-13 165747](https://github.com/wtbyt298/myaccountbook/assets/126745395/6568919c-6b47-49de-a7d5-6fb5b544acf4)
![ス

元記事を表示

【JavaGold】Executnorsクラス②

①は[こちら](https://qiita.com/knmbpc/items/0d5214efa61df942b4fc)

## ScheduledExecutorServiceインタフェース
`ExecutorService`を拡張しており、メソッドを定期的に実行するためのインタフェースである。

#### 主なメソッド

– `schedule(Runnable task, long delay, TimeUnit unit)`:
指定された遅延時間の後にタスクを実行する。

– `schedule(Callable task, long delay, TimeUnit unit)`:
指定された遅延時間の後にタスクを実行し、結果を返す。

– [`scheduleAtFixedRate(Runnable task, long initialDelay, long period, TimeUnit unit)`](https://qiita.com/knmbpc/items/4845cd4320aa703f342f):
指定された初期遅延時間の後にタスクを実行し、一定の間隔で

元記事を表示

バージョン切り替えのコマンド絶対いつも忘れるので一覧化しとく

https://github.com/anyenv/anyenv
最近存在を知ったanyenvであれこれxxenv化したいなぁと思いつつも、すでに汚れてしまった私の環境を整理していくのは腰が重いので、最近よく使う言語のバージョン切り替えをコマンド一覧化しとく

# goenv
“`bash
# バージョン確認
go version
# インストールできる一覧
goenv install -l
# インストール
goenv install {バージョン}
# 設定
goenv global {バージョン}
# 指定のディレクトリにのみ設定する場合はこちら
goenv local {バージョン}
# .zshrcは読み直そう
source ~/.zshrc
“`

# nodebrew
インストールしてあれば `ls-remote` やら `install-binary` のくだりはいらない
“`bash
# インストールした一覧
nodebrew ls
# インストールできる一覧
nodebrew ls-remote
# インストール
nodebrew install-bina

元記事を表示

OTHERカテゴリの最新記事