Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Vavrコレクションの紹介 〜 Javaでより安全で楽な関数型プログラミング〜
Search
Shota Sada
June 08, 2025
0
38
Vavrコレクションの紹介 〜 Javaでより安全で楽な関数型プログラミング〜
JJUG CCC 2025春の交流会LTで発表した資料です
Shota Sada
June 08, 2025
Tweet
Share
Featured
See All Featured
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.4k
Code Reviewing Like a Champion
maltzj
528
40k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
250
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
30 Presentation Tips
portentint
PRO
1
260
Design in an AI World
tapps
0
180
Thoughts on Productivity
jonyablonski
75
5.1k
Facilitating Awesome Meetings
lara
57
6.8k
Git: the NoSQL Database
bkeepers
PRO
432
67k
The SEO identity crisis: Don't let AI make you average
varn
0
430
Designing Experiences People Love
moore
143
24k
Transcript
Vavrコレクションの紹介 〜 Javaでより安全で楽な関数型プログラミング〜 JJUG CCC 2025 Spring 交流会LT さだ(@sada_ft)
自己紹介 • さだ(@sada_ft) • ユーザー系IT企業勤務(新卒2年目) • フロント(TS/React) • バック(Java/Spring Boot)
• 初LTです!
こんなことありませんか? • うっかりMutableな引数を渡してしまった 処理中に別スレッドから data.add(“邪魔者”);
こんなことありませんか? • stream噛ませて、最後に終端操作、、、 素晴らしい機能だが、ちょっとめんどくさい • できれば戻り値もイミュータブルにしたい
そこで今回紹介するライブラリが、、、
Vavr • デフォルトで イミュータブル • 関数型プログラミングをサポート • 発音はヴァヴル・ヴェイヴァーかと思ったが、 ヴェイヴっぽい(/ˈveɪ.vɚ/)
None
コードで見る不変性 常に新しい イミュータブルリスト が帰ってくる!
メモリ効率の工夫
シンプルな関数型プログラミング体験 Stream化・終端操作 が不要
パフォーマンス比較
まとめ • 安全なコードを書きたいなら Vavrは便利! • Javaの標準に比べるとパフォーマンスが落ちるが、 バグを未然に防げるのはうれしい (Map、Setもいい感じ) • デメリット
• 標準コレクションとごっちゃになりそう (チーム開発で使う場合は何かしらのご配慮を) 公式:https://vavr.io/